Tässä onkin jo aika lailla haastetta, eli miten kannattaisi tallentaa kuva muuttujaan?
Sellaista mietin jo että jos kävisi jokaisen kuvassa olevan pikseli kerrallaan läpi ja nappaisi niiden rgb arvot ja lisäisi muuttujaan mutta taitaisi tulla melko hidas ohjelma ja kuvan purku muuttujasta olisi vaikeaa (ellei erottelisi arvoja jollain merkillä.
No, kaikki ehdotukset ovat tervetulleita..
No yhteen muuttujaan et ainakaan saa tungettua kuvaa, vaan tarvitset sitä varten taulukon (aivan yhtä hidasta kuitenkin). Kai VB:ssä silti jokin valmis toiminto on, millä kuvan voi kopioida, tai ainakin WinAPI:ssa ehkä.
Eikö olisi helpompi pitää kuvaa vaikka ruudun ulkopuolella olevassa kuvalaatikossa?
En hae tässä sitä vaan mietin että olisiko moinen miten helppoa toteuttaa. Ja jos sitten olisi niin voisin yrittää rähveltää omaa kuvaformaattia.
Oman kuvaformaatin, joka olisi nopea ladata ja tallentaa, on tietääkseni VB:llä mahdoton, koska Basic vain sattuu olemaan niin hidas kieli. Kaikki valmiit bmp, gif, jpg ym. lataukset ovat niin nopeita, koska ne ovat valmiiksi "sisäänrakennettuja" ja koska VB on tehty paljon nopeammalla kielellä.
Yksinkertaisin tapa tallentaa kuva on merkitä tiedostoon järjestyksessä jokaisen pikselin väri. Silloin kuvan leveys ja korkeus ilmaisevat suoraan sen tarvitseman tilan tiedostossa. Monissa kuvaformaateissa on kuitenkin käytössä pakkaus tiedostokoon pienentämiseksi. Helposti tehtävä pakkaus on niin, että jos peräkkäin on useampi samanvärinen pikseli, merkitään tiedostoon pelkästään senväristen pikselien lukumäärä. Jos kuvassa on paljon samaa väriä, tiedostokoko putoaa näin murto-osaan.
Joo, samalla periaatteella voi tallentaa kuvan myös taulukkoon, mutta se on yhtä kaikki melko hidasta, tallensi sitten tiedostoon, tai muistiin.
Aihe on jo aika vanha, joten et voi enää vastata siihen.