Kirjautuminen

Haku

Tehtävät

Keskustelu: Ohjelmointikysymykset: C: Tiedoston purkaminen grafiikaksi

DumTom [13.11.2010 01:39:24]

#

Tein vuonna 1998 dossille pokerin.
Kortit ovat .dat tiedostosssa pixeli kerrallaaan.
Miten saisin ladattua kortit SDL käyttöön?

eq [13.11.2010 02:49:26]

#

"Pikseli kerrallaan" ei riitä - pikselin voi säilöä monella tavalla (kuten myös joukon pikseleitä 2D-tasolla). Todennäköisesti SDL ei tue suoraan valitsemaasi säilöntätapaa (ts. ei tiedä miten se pitäisi tulkita), joten ohjelmalogiikan kannalta ehkäpä helpointa on tehdä muunnosohjelma joka muuntaa nämä .dat-tiedostot johonkin tuettuun kuvaformaattiin - joka SDL-ohjelmassa ladataan SDL-funktioiden avulla SDL-tekstuuriksi.

Metabolix [13.11.2010 12:57:03]

#

Jos et osaa ladata kortteja suoraan tiedostoista, voit ajaa peliä DOSBoxilla ja ottaa korteista kuvakaappaukset.

DumTom [13.11.2010 15:26:40]

#

Siis kortti on pixeli kerrallaan tiedostossa. Veljeni selitti jotain jostain image funktiosta jolla oli saanut kortit näkymään. Siis funktio johon oli ladattu kortti ja sitten se oli valmis blitattavaksi ruutuun....

Lahha [13.11.2010 18:17:03]

#

Jos tiedät miten ne pikselit on sinne dattiin tallennettu nii tuostahan pykää lataus fuktion 5 minuutissa.

Ensiki luetaan tiedostosta taikka muuten määritellään kuvan koko. Sitten luot tarvittavan kokoisen pinnan SDL_CreateRGBSurface() funktiolla. Sitten alat lukea pikseleitä tiedostosta ja laitat niitä luomallesi pinnalle(Esim. vaikka SDL_FillRect() funktiolla). Kun homma on valmis palautat pinnan osoittimen.

eq [13.11.2010 18:31:51]

#

DumTom kirjoitti:

Siis kortti on pixeli kerrallaan tiedostossa. Veljeni selitti jotain jostain image funktiosta jolla oli saanut kortit näkymään. Siis funktio johon oli ladattu kortti ja sitten se oli valmis blitattavaksi ruutuun....

(Kysy itseltäsi:) Mitä tarkoittaa tässä yhteydessä pikseli, ja minkälainen järjestys on pikseli kerrallaan? Miten (missä kielessä tai yhteydessä) funktiolle voi ladata kortin?

Tiedostossa ei ole pikseleitä: pikselit ovat aina näyttöpinnalla. Tiedostossa pikselin esitysmuoto on tallennettu jollakin (päätetyllä) tavalla joka riippuu paljonkin siitä, mitä kaikkea tietoa halutaan säilöä.

Metabolix [13.11.2010 19:10:04]

#

Näin pari viestiä myöhemmin olen entistä vahvemmin entisellä kannallani: käynnistä peli DOSBoxilla, ota korteista kuvakaappaukset ja muuta ne kuvankäsittelyohjelmalla vaikka BMP- tai PNG-muotoon, niin ne on helppo sitten ladata ihan tavalliseen tapaan.

Vastaus

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

Tietoa sivustosta