Tämä on hidas, mutta yksin kertainen ohjelma. Voi myös olla olemassa API, joka tekee tämän nopeemmin ja sen takia tämä on esimerkki kuinka väri käännetään
vasta väriksi.
Lisää:
-Command1
-Picture1
-Picture2
Picture1 boksiin ladataan kuva ja kummankin pictueboksin ja formin ScaleModiksi 3 eli pikseli.(toimii vähän nopeemmin)
'Form1
Private Sub Command1_Click()
For x = 1 To Picture1.Width
For y = 1 To Picture1.Height
'Otetaan väri
vaari = Picture1.Point(x, y)
'muutetaan väri RGB muotoon
r = vaari Mod 256
g = (vaari \ 256) Mod 256
b = vaari \ 65536
'Tehdään käänteiset värit
r = 255 - r
g = 255 - g
b = 255 - b
'piirretään käänteisinä väreinä
Picture2.PSet (x, y), RGB(r, g, b)
DoEvents
Next y
Next x
End SubKoko värin kääntäminen vastaväriksi kävisi huomattavasti nopeammin XOR-operaatiolla.
Esim. vaari = vaari XOR 16777215 (= 256^3-1 = 2^24-1 = 111111111111111111111111 binäärilukuna)
Aihe on jo aika vanha, joten et voi enää vastata siihen.