Kirjautuminen

Haku

Tehtävät

Keskustelu: Ohjelmointikysymykset: C: Fonttien väri tai vaikka auton väri SDL

DumTom [21.10.2010 16:28:29]

#

Eli jos mulla on piirrettynä joku kuva harmaasävyinä ja lataan sen SDL:ässä surfaceen niin miten saisin siitä helposti muita surfaceja jotka ovat identtisiä muuten mutta väri on muuttunut haluamakseni? Eikös tämä liity siihen gammahommaan?
Esimerkki olis kiva....:)

temu92 [22.10.2010 00:32:01]

#

https://www.ohjelmointiputka.net/koodivinkit/25049-cpp-kuvan-päällystys-värillä-sdl

DumTom [22.10.2010 02:41:35]

#

Tolla koodilla on vissiin käytävä moneen kertaan surface läpi väri kerrallaan?
Eikös joku gammacorrection koko surfacelle ajaisi saman asian?
Googletan mutta vielä en ole vastausta löytänyt.
Lisäinfoa,kiitos!:)

Ahaa,gammacorrection vaikuttaa koko ruutuun.
Pitää nyt laittaa testiin tuo putkassa ollut funktio....

DumTom [22.10.2010 04:05:14]

#

En saa toimimaan tota PaintImage funktiota.
Sen verran olen kärryillä että homma kaatuu siihen että kuvani ei ole 32-bittinen.
Koetin increase color depthiä piirto-ohjelmassa mutta sielläkin maksimiarvo 24-bittinen.
Näytön asetukset sen sijaan ovat 32-bittiset.
Mitä pitäisi tehdä jotta saan kuvastani 32-bittisen?

DumTom [22.10.2010 05:48:33]

#

Ratkaisin ongelman selailtuani nettiä.

optimizedImage = SDL_DisplayFormat( loadedImage );
SDL_FreeSurface( loadedImage );

Eli ladattu kuva olipa se missä formaatissa vain pitää muuttaa SDL_DisplayFormat käskyllä optimoiduksi 32-bittiseksi kuvaksi jotta PaintImage toimii.

Metabolix [22.10.2010 16:13:29]

#

SDL_DisplayFormat tietenkin edellyttää, että näyttöpintasi on 32-bittinen. Muita vaihtoehtoja olisivat SDL_CreateRGBSurface yhdistettynä pinnan kopiointiin tai SDL_ConvertSurface.

SDL itsessään ei sisällä mitään valmista värinmuuttotapaa, se on tasoltaan ja toiminnoiltaan erittäin rajoittunut kirjasto.

DumTom [22.10.2010 17:20:48]

#

Joo mutta mukavalta tuntuu kun oppii koko ajan lisää...
Noihin mainitsemiisi pitää tutustua.
Monta dos-sätöstä odottaa kääntöä SDL-maailmaan.
BlitzBasicista opin tavallaan teorian miten windowskoodia tehdään mutta kyllä C syntaksi on C syntaksi.....:)

Vastaus

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

Tietoa sivustosta