Kirjautuminen

Haku

Tehtävät

Keskustelu: Koodit: VB6: Käänteiset värit

petrinm [12.12.2004 12:20:59]

#

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

Sami [17.12.2004 13:08:18]

#

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)

Vastaus

Aihe on jo aika vanha, joten et voi enää vastata siihen.

Tietoa sivustosta