CoolBasic SDK

MaskApprox

Include "cbImaging.cb"

KUVAUS
Tällä funktiolla voit asettaa kuvan läpinäkyvän värin silloin, kun kuvassa ei ole tasaisia väripintoja. Tämä on yleistä silloin kun kuva on pakattu häviöllisellä menetelmällä, kuten JPEG.

Kohde väri ilmoitetaan RGB-järjestelmän mukaisesti. Väri muodostuu kolmesta komponentista, joista kukin saa arvon 0-255. (0,0,0) on musta ja (255,255,255) on valkoinen. Lisätietoa RGB-koodauksesta oppitunnista Värit, värikartasta ja sanakirjasta.

Lisäksi tarvitaan offset-arvo, joka ilmoittaa sallitun poikkeaman värissä. Mitä isompi arvo, sitä isompi sävyvaihtelu tulkitaan maskattavaksi. Esimerkiksi arvo 50 asettaisi kaikki 50 pykälän päässä annetusta väristä olevat värisävyt läpinäkyviksi.

Huomaa, että pikselikomentojen hitauden tähden operaatio saattaa kestää isommilla kuvilla jonkin aikaa.

Funktio palauttaa uuden, maskatun kuvan tunnisteen.

KÄYTTÖ
MaskApprox(kuva, r, g, b, poikkeama)
kuva = Kuvamuutuja johon kuva ladattiin
r = Värin punainen komponentti
g = Värin vihreä komponentti
b = Värin sininen komponentti
poikkeama = Sallittu poikkeama värissä

Katso myös: Kuvamanipulaatiofunktiot

ESIMERKKI
Include "sdk/include/cbImaging.cb"

SCREEN 800,600

bg=LoadImage("Media/map.bmp")
img=LoadImage("sdk/media/level.jpg")
// Aseta läpinäkyväksi väriksi magenta 150 heitolla
jpgmaskedimg=MaskApprox(img,255,0,255,150)

Repeat
    DrawImage bg,1,1
    DrawImage jpgmaskedimg,1,1

    DrawScreen
Forever