Onko SDL:ssä valmista funktiota millä voisi kuvan peilata vaikka vaakasuunnassa? vai pitääkö tälläinen tehdä itse ja jos pitää niin olisiko mitään vinkkejä miten tämä toteutettaisiin?
for (y = 0; y < korkeus; ++y) { for (x = 0; x < leveys / 2; ++x) { vaihda(pikseli(x, y), pikseli(leveys - x - 1, y)); } }
Muistaakseni SDL_gfx-kirjasto sisältää funktion nimeltä rotozoomsurface(...), joka tuottaa pelilikuvan, kun sille antaa zoomx/zoomy parametriksi negatiivisia arvoja.
Gaxx: en saa tuolla rotozoomsurfacella tehtyä mitenkään peilikuvaa..
Metabolix: miten manipuloin kuvaa pikseli tasolla SDL:ssä?
Vaikka näin:
void PutPxl(SDL_Surface* pSurface, int x, int y, int r, int g, int b) { Uint32 col = SDL_MapRGB ( pSurface->format, r, g, b); char *pPosition = (char *) pSurface->pixels; pPosition += (pSurface->pitch * y); pPosition += (pSurface->format->BytesPerPixel * x); memcpy(pPosition, &col, pSurface->format->BytesPerPixel); }
Funktiota kutsuttaessa annetaan siis SDL_Surfacen osoite, pikselin koordinaatit ja väri.
Metabolix voi täydentää vastausta
Kiitoksia sain peilaamisen toimimaan
Aihe on jo aika vanha, joten et voi enää vastata siihen.