Kirjautuminen

Haku

Tehtävät

Keskustelu: Ohjelmointikysymykset: C++: Rotozoom ja ColorKey

Lumi-ukkeli [17.06.2006 20:18:59]

#

Miten voisin pyöritellä rotozoomilla kuvaa jossa on mustaa?
Alpha-kanavaa en halua käyttää koska mun rauta ei tue kiihdytettyä semmoista :S Ilmeisesti Rotozoom haluaa aina luoda juuri uuden mustan pinnan?

Ainii joo - haluaisin tietenkin sen uuden pinnan turhan alueen läpinäkyväksi :D

hunajavohveli [17.06.2006 22:49:12]

#

Onko kyse nyt jostain kirjastosta? Rotozoom on nimittäin ihan yleinen menetelmä, ja sellaisen voi ihan helposti koodata itsekin. Ei mustan kuvan pyörittämisessä pitäisi olla mitään sen kummallisempaa kuin minkään muunkaan värin pyörittämisessä.

Kieli olisi myös kiva tietää.

Lumi-ukkeli [18.06.2006 11:53:07]

#

no okei:

Kirjasto SDL_gfx ja kieli C++. Minulla on kuva missä on mustaa väriä, ja haluan sen semmoisenaan blitata ruudulle. SDL_gfx kirjaston rotozoomSurface() luo ensin uuden mustan pinnan ja sitten piirtää siihen pyöritetyn ja zoomatun kuvan. Haluan sen uuden pinnan mustan alueen sillee läpinäkyväksi että sitä ei blitata. Ongelma on se että sitten siitä alkuperäisestäkin kuvasta tulee osittain läpinäkyvä.

sooda [18.06.2006 11:58:36]

#

Voithan asettaa läpinäkyvyyden SDL_SetColorKeyllä: SDL_SetColorKey(uusi_pinta, SDL_SRCCOLORKEY, 0);

Lumi-ukkeli [18.06.2006 12:36:41]

#

Mutta eikös siitä alkuperäisen kuvan mustista kohdista tule sillon läpinäkyvä?

Metabolix [18.06.2006 16:48:17]

#

Uskaltaisin väittää, että SDL ei edelleenkään käytä juuri mitään laitteistokiihdytystä. Ainakaan SDL_gfx:n lähdekoodista ei löytynyt mitään viitteitä sellaiseen. Et siis menetä mitään käyttämällä alphakanavaa.

Helpoin vaihtoehto olisi varmaankin ladata rotozoomerin lähdekoodi ja muokata funktiot omaan tarpeeseen sopiviksi eli lisätä vaikkapa parametri, jolla määrää pinnan värin. Itse tein tällaisen ratkaisun vaikkakin aivan eri tarkoitukseen.

Vastaus

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

Tietoa sivustosta