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.