Kirjautuminen

Haku

Tehtävät

Keskustelu: Ohjelmointikysymykset: C: SDL - kuvan peilaaminen

Cc [30.09.2007 17:43:32]

#

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?

Metabolix [30.09.2007 19:09:25]

#

for (y = 0; y < korkeus; ++y) {
    for (x = 0; x < leveys / 2; ++x) {
        vaihda(pikseli(x, y), pikseli(leveys - x - 1, y));
    }
}

Gaxx [30.09.2007 21:31:56]

#

Muistaakseni SDL_gfx-kirjasto sisältää funktion nimeltä rotozoomsurface(...), joka tuottaa pelilikuvan, kun sille antaa zoomx/zoomy parametriksi negatiivisia arvoja.

Cc [01.10.2007 11:47:33]

#

Gaxx: en saa tuolla rotozoomsurfacella tehtyä mitenkään peilikuvaa..

Metabolix: miten manipuloin kuvaa pikseli tasolla SDL:ssä?

Baglair [01.10.2007 12:09:55]

#

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

Cc [01.10.2007 14:29:02]

#

Kiitoksia sain peilaamisen toimimaan

Vastaus

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

Tietoa sivustosta