Olisi tuossa grafiikka-ohjelmassa tämmöinen ongelma.
Käytän bittikartta tulostukseen 8-kynäistä plotteria, tulee keltaisen ja punaisen päällekkäin tulostamisesta tietysti oranssia.
Ongelma on esikatselussa, jossa toi tulostaminen ohjataan bitmap-kontrolliin.
pitäisi siis laskea allaolevan värin ja tulostusvärin yhdistäminen.
olen joskus nähnyt tuon RGB-ohjelmakoodin, mutta en löytänyt millään hakusanalla enää..
=)
Yksinkertaisesti laske RGB arvojen keskarvo! Eli yksittäin jokaiselle komponentille.
ESIM!: Jos on luokka RGB, joka voidaan alustaa tyyliin RGB(r, g, b) ja sen eri komponentien väriarvoja voidaan käsitellä tyyliin väriobjekti.r, niin (sekavaa)
Red = RGB(255, 0, 0) Yellow = RGB(255, 255, 0) Orange = RGB((Red.r + Yellow.r)/2, (Red.g + Yellow.g)/2, (Red.b + Yellow.b)/2) ' 255, 128, 0
En tarkoittanut tuota, vaan värien miksaamista.
Sub Lue 'Osa isommasta koodista.... For II = Li.s.X + O.X To Li.E.X + O.X C = GetPixel(PL.P1.HDC, II, Li.s.Y) If C <> vbWhite Then C = Miksaa(C, Plot.PenColor(UseColor.Pen(I))) Else C = Plot.PenColor(UseColor.Pen(I)) End If SetPixel PL.P1.HDC, II, Li.s.Y, C Next II End Sub Function Miksaa(C1 As Long, C2 As Long) As Long Dim CC1 As t_RGB, CC2 As t_RGB CC1 = ChangeRGBValues(C1) CC2 = ChangeRGBValues(C2) Miksaa = RGB((CC1.R + CC2.R) / 2, (CC1.G + CC2.G) / 2, (CC1.B + CC2.B) / 2) End Function
Tarkoititko tuollaista koodia??
Itse asiassa tuntuu omituiselta, että väri "peittää" muita värejä vain 50% mutta valkoista 100%.
Normaalistihan jos piirtää punaista mustetta ja keltaista, niin siitä tulee punaista, ehkä ihan aavistuksen verran kellertävämpää. (ja keltaisesta ja magentasta tulee punaista)
Grez kirjoitti:
Itse asiassa tuntuu omituiselta, että väri "peittää" muita värejä vain 50% mutta valkoista 100%.
Johtuu siitä, että tulostimessa on valkoista paperia.
Nopeudenkin kannalta on järkevämpää jättää laskenta valkoisen kanssa pois.
Aihe on jo aika vanha, joten et voi enää vastata siihen.