Onko olemassa jotain apuohjelmaa, keinoa tms., jolla esim. paintilla luodusta bittikartasta saataisiin väritiedot vaikka tekstitiedostoon, josta ne voisi sitten siirtää omaan ohjelmaan data lauseisiin. On nimittäin äärimmäisen turhauttavaa piirtää(tai qb:n tapauksessa kirjoittaa) suuria spritejä pikseli kerrallaan...
Tällaisen ohjelman voi tehdä melko helposti itsekin. Koodivinkeissä on QB:lle BMP-kuvan näyttäjä, ja tästä on lyhyt matka ohjelmaan, joka lukee kuvan näyttämisen jälkeen pikselien värit POINT-funktiolla ja kirjoittaa ne tekstitiedostoon.
Toinen vaihtoehto on käyttää QB:n omia GET/PUT-funktioita kuvan tallentamiseen DATA-lauseiden ja pikseli kerrallaan piirron sijaan.
Minkä takia tehdä asiat turhan hankalasti DATA-lauseiden kautta? Kun voisit suoraan lukea tuon bmp-tiedoston muistiin (tuota koodivinkin lukukoodia hieman soveltamalla) ja piirtää kuvan sieltä.
Tulee vain siistimpää jälkeä jos ei tarvitse jättää useita bmp-tiedostoja lojumaan turhanpäiten, kun kerran saa datoilla saman homman hoitumaan itse ohjelman sisällä, ilman ulkoisia tiedostoja...
Hieman off topic...
Itse asiassa olen täysin eri mieltä tuossa suhteessa.
Erillinen kuvatiedosto on helppo vaihtaa vaikka jälkeenpäin ilman että koko ohjelmaa tarvitsee erikseen kääntää.
Järjevällä nimeämisellä ja hakemistojen käytöllä lopputulos on selvempi kuin yksi iso tiedosto joka pitää sisällään kaiken.
Toisaalta jos kuvatiedostosta kirjoittaa data lauseisiin joka pisteen värin vaikkapa kokonaislukuna niin tuloksena on 2 tai jopa 3 kertaa isompi määrä dataa kuin esim. kookkaiksi haukutut .bmp tiedostot.
' FreeBASIC sorsa mutta lähes sama kuin qb:lla. DIM AS Integer CounterX, CounterY Screen 19, 16 BLOAD "taivas.bmp" Open "taivas.dat" For Output As #1 For CounterX = 0 TO 799 For CounterY = 0 TO 599 Print #1, POINT(CounterX, CounterY) Next CounterY Next CounterX
Tuloksena 4 megaa suuri tiedosto, 1.4MB kokoisesta .bmp tiedostosta. QB:lla leikkiessä tulee äkkiä kääntäjän rajat vastaan vaikka kuvien koko olisi vain murto-osa esimerkki kuvasta.
taivas.bmp @ http://www.geocities.com/roope00/taivas.bmp
Aihe on jo aika vanha, joten et voi enää vastata siihen.