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 FunctionTarkoititko 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.