Kirjautuminen

Haku

Tehtävät

Keskustelu: Ohjelmointikysymykset: C: SDL_Surface:n ominaisuuksia

Touho [13.03.2005 15:39:33]

#

Jos lataa esimerkiksi jonkun bmp kuvan SDL_Surface muuttujaan, miten voin lukea muttujasta pikseleiden värejä?
esim.

if(surface->format->colours[20][3]->r==20)red=20;

Haha, mikä esimerkki :D

acorn [13.03.2005 16:14:50]

#

http://sdldoc.csn.ul.ie/guidevideo.php#AEN112

Ennen pikselin lukemista pitää pinta (surface) lukita funktiolla SDL_LockSurface() ja jälkeenpäin poistaa lukitus funktiolla SDL_UnlockSurface()

EDIT: Niin ja tuo lukitseminen on aika hidasta puuhaa. Parasta on tehdä kaikki pikselien lukemiset ja piirtämiset kerralla, jolloin lukitseminen tapahtuu vain kerran. Aina pintaa ei tarvitse lukita, tällainen ehto estää turhat lukitsemiset:
if(SDL_MUSTLOCK(surf)) { SDL_LockSurface(surf); }

tuomas [13.03.2005 17:14:05]

#

Ja tuo pikselien käsittely on muutenkin vähän turhan hidasta :(

Vastaus

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

Tietoa sivustosta