Page 1 of 1

PIXELIMÖSSÖ

Posted: Sat Nov 17, 2012 11:28 am
by _jorghe87_
Eli piirrustus ohjelma, C64-meininkiä. Spriten vääntöön yms.
Oleellinen on kylllä jo kasassa ja bugi ilmotuksia otetaan vastaan.
.........................................................................................................
Näppäimet :
F1 tallentaa
F2 Lataa
F3 muuntaa piirtoalueen bmp tiedostoksi.
siis vasen Ctrl poimii värin ihan mistä vaan.(ohjeessä väärin, kuka nyt niitä lukee.)
Hiiren vasen piirtää, hiiren oikea poistaa.
Hiiren vasen poimii värin paletista.
.........................................................................................................
puutteita:
tallennus tiedoston nimeäminen.
ruudukon koon muuttaminen.
tietysti värejä lisää.
Kuvan koko 32*24 bittiä.
---------------------------------------------------------------------------------------------------------
2015-PIXELIMÖSSÖ rebooting...

Mielipiteeni ohjelmasta "Pixelimössö"

Posted: Sun Nov 18, 2012 10:12 am
by Jottatavu
Kasibittikausi on tullut takaisin! Kun näin kuvakaappaukset, heti tuli ensimmäisenä mieleen vanhat ajat, jolloin tirkisteltiin pikselihelvettiä 5 tuuman ruudulta. Kuvakaappauksien takia minä sitten rupesinkin tätä ohjelmaa testaamaan. Melko mukavalta ohjelmanalulta tämä näytti. Kuvakaappaukset vastasivat täydellisesti kokemuksiani. En tosin testannut tallennusta, mutta nättiä jälkeä ainakin tuli. Ainoa miinus, joka madalsi tyytyväisyyttäni ohjelmaan oli lopetusteksti, et pääse tällä pitkälle, jos ohjelman sulkiessa käyttäjä saa ilmoituksen "PAINU HANEEN!". Kunhan vähän viilailet ohjelmaa, niin hyvää tulee, tosiaan niitä värejä lisää.

Piti sitä tallennustakin kokeilla. Miten tallennus on oikein toteutettu, kun ei voi tiedosto olla jo alunperin BMP-muodossa? Sanoisin melkein, että raivostuttavaa aina painaa sitä F3:a ja sitten F1:htä :D

Ihan mukava softa, muutamia puutteita(värit,tallennus yms) korjaamalla tämä on ihan mukava kuvankäsittelyohjelma. Voisit yrittää jotenkin optimoida tuota koodiasi, kun ei edes 32x24 kokoiseen kuvaan pikselien lätkimistä voi tehdä nopealla liikkeellä, vai onko kyse Coolbasicin heikosta suorituskyvystä? Koneestani ei voi olla vikaa, koska sovellus ei hidastele yhtään.

Re: PIXELIMÖSSÖ

Posted: Sun Nov 18, 2012 11:55 am
by _jorghe87_
Itseasissa löysin koodista turhakkeen, esim. toi griddi tossa taustalla, myös muistin varauksessa oli turhaa kamaa.
Piirto alueen ruutu on valmiiksi joko täysinäinen boxi tai nolla boxi. Että jos hiiri on siinä ruudun sisällä
< x+10 ja < y+10 jne. ohjelma tarkistaa ruudun numeron, täyttö päälle tai pois. Jokainen ruutu on numeroitu erikseen.

Tallentaminen on toteutettu siten että: käydään läpi dim muistipaikat: x, y, täyttö, väri1, väri2, väri3.
joka sitten kirjoitetaan tiedostoksi. Lataus : tiedostosta täytetään muistipaikat: x,y,täyttö..jne. ja piirtää sen ruudulle.

Mulla oli ideana lähinnä se että isompaa kuvaa jos lähtee tekemään, niin sitten sitä sais scrollattua sielä ruudukon sisällä helpommin.
esim. 200*200 pixelinen kuva, niin se piirtäis vain 50*50 ruudukon, silloin siitä tallennuksesta olis hyötyä, jolloin
dim paikkoja tarvitaan vain 2500. Jos on tarpeen silloin sitä pystyis lukemaan tiedostosta, vähän menee kikkailuksi.


Bitmappaus hoituu ihan samalla tavalla, paitsi että koordinaatteja pitää muokata.


Toki koko homman voisi toteuttaa bmp muodossa, ja olisi huomattavasti nopeampi.

Re: PIXELIMÖSSÖ

Posted: Thu Dec 13, 2012 5:37 pm
by Misthema
Hienon näköistä! Ei voi muuta kuin tykätä 8-bit tyylisistä pikkuohjelmista ja muista... :)

Ideoita joita voisit mahdollisesti toteuttaa:

Oma kuvaformaatti:
- Kuvan leveys
- Kuvan korkeus
- Jokainen pikseli olisi tallennettu paletin ID luvuilla, riippuen paletin koosta. Jos paletissa on 256 väriä, ID:t olisivat 0 -> 255, jne.
- Esimerkki formaatin tallentamisesta:

Code: Select all

Function SavePixelImage(img, name As String)

    // Avataan tiedosto 'name' kirjoitettavaksi
    imgFile = OpenToWrite(name)
    
        // Tallennetaan tiedostoon kuvan leveys ja korkeus
        WriteInt imgFile, leveys
        WriteInt imgFile, korkeus
        
        // Kirjoitetaan tiedostoon jokainen pikseli.
        For y = 0 To korkeus -1
        For x = 0 To leveys -1
            // Miten ikinä oletkaan pikselisi tallentanut, tässä kuitenkin esimerkki.
            WriteInt imgFile, getImagePixelID(img, x, y)
        Next x
        Next y
        
    CloseFile imgFile
EndFunction
Paletit olisivat myös erikseen tallennettavissa: ID0, väri, ID1, väri, ID2, väri........IDn, väri.

Kuvatiedoston lataamiseen olisi funktio jolle syötetään parametreinä kuvatiedoston nimi ja palettitiedoston nimi. Näin kuvia voisi ladata ties miten monella eri paletilla. :)
Kuvien luonti CB:n puolella tietysti tapahtuisi MakeImage():lla ja PutPixel-komennoilla.

Re: PIXELIMÖSSÖ

Posted: Thu Dec 13, 2012 6:07 pm
by axu
Misthema wrote:Kuvatiedoston lataamiseen olisi funktio jolle syötetään parametreinä kuvatiedoston nimi ja palettitiedoston nimi. Näin kuvia voisi ladata ties miten monella eri paletilla. :)
Kuvien luonti CB:n puolella tietysti tapahtuisi MakeImage():lla ja PutPixel-komennoilla.
En nyt voi olla mainostamatta, tekemäni GIF-tallennin olisi tähän hommaan sopiva, ja pienellä muokkauksella saisi tuon paletin lataamisen toisesta tiedostosta. Näin tiedostot säilyvät pienempinä ja avattavissa monilla muilla ohjelmilla ;)

Re: PIXELIMÖSSÖ

Posted: Fri Dec 14, 2012 12:13 am
by naputtelija
axu wrote:
Misthema wrote:Kuvatiedoston lataamiseen olisi funktio jolle syötetään parametreinä kuvatiedoston nimi ja palettitiedoston nimi. Näin kuvia voisi ladata ties miten monella eri paletilla. :)
Kuvien luonti CB:n puolella tietysti tapahtuisi MakeImage():lla ja PutPixel-komennoilla.
En nyt voi olla mainostamatta, tekemäni GIF-tallennin olisi tähän hommaan sopiva, ja pienellä muokkauksella saisi tuon paletin lataamisen toisesta tiedostosta. Näin tiedostot säilyvät pienempinä ja avattavissa monilla muilla ohjelmilla ;)
Äläkä unohda animaatiomahdollisuutta :D Se on se paras osa.

Re: PIXELIMÖSSÖ

Posted: Tue Jan 13, 2015 10:49 am
by _jorghe87_
2015-PIXELIMÖSSÖ rebooting...

Re: PIXELIMÖSSÖ

Posted: Tue Jan 13, 2015 7:28 pm
by CCE
Jännitys tiivistyy!!!

Re: PIXELIMÖSSÖ

Posted: Thu Jan 15, 2015 10:23 pm
by MrMonday
Liekkö sitten Coolbasickin heikko suorituskyky, mutta hieman takkuista oli piirtää.
Muuten täytyy sanoa, että oikein mainio projektin alku, vaikka tekemistä vielä riittääkin.

Menestystä projektillesi!