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 Sub
Koko 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.