Kuvan muuttaminen CB:n koodiksi.

Oletko tehnyt jotain, mistä muut voisivat hyötyä. Postita vinkit tänne.
Eräs cb koodaaja
Active Member
Posts: 126
Joined: Wed Aug 29, 2007 3:55 pm

Kuvan muuttaminen CB:n koodiksi.

Post by Eräs cb koodaaja »

Niin kuin otsikko jo kertookin funktio muuttaa kuvan cb:n koodiksi. Hyöty lienee lähinnä siinä, että kuvat saa pakattua suoraan exee(kuka tahansa ei saa niitä käyttöönsä). Soveltuu HYVIN vain pieniin kuviin, koska suuret kuvat aiheuttavat latausnopeuden huimaa kasvua.

Code: Select all

Function Kuvamuunnin(in$,out$)
    file = OpenToWrite(out$) 
    img  = LoadImage(in$)

    Lock Image(img)
    For a = 1 To ImageWidth(img)
        For b = 1 To ImageHeight(img)
            PickImageColor2 img,a,b
            WriteLine file,"Color "+getRGB(RED)+","+getRGB(GREEN)+","+getRGB(BLUE)+": Dot "+a+","+b
        Next b
    Next a
    Unlock Image(img)
    CloseFile file
EndFunction

Kuvamuunnin("media\guy.bmp","kuva.cb")
Koodissa myös esimerkki.
Tiimit ja tuotokset:
RE:Ydintuho
Drahtlose:Infernalisch, Pienet pelit
Vouldenhaul
Active Member
Posts: 211
Joined: Tue Aug 28, 2007 3:48 pm

Re: Kuvan muuttaminen CB:n koodiksi.

Post by Vouldenhaul »

En oo tota hommaa testannut, tai mittään, mutta tietenkin nyt kaverin koodii pitää tulla kommentoimaa... Testaan tota sit, kun ehdin, jos ehdin. Luottakaa Erääseen CB koodaajaan, mukava tyyppi, koodaustaidoista en tiiä, mutta ainakin koodaa mua paremmin. :? Se saa esitellä tän systeeminsä mulle joku päivä, tai vaik nyt meses, tuun sen jälkee ylistää tätä lissää... :P
Some stories can't be told by words...
Some legends are meant to die...
Some bloodlines must come to an end...


Metal Gear Solid 4: Guns of the Patriots
Sneaking Out 12.06.2008
otto90x
Advanced Member
Posts: 349
Joined: Mon Aug 27, 2007 9:00 pm
Location: Lapinjärvi, Finland
Contact:

Re: Kuvan muuttaminen CB:n koodiksi.

Post by otto90x »

Ääh, tää on kyllä aika turha ja armottoman hidas. Voihan sitä cbresourceakin käyttää.
Otto Martikainen a.k.a. MetalRain, otto90x, kAATOSade.
Runoblogi, vuodatusta ja sekoiluja.
M.R
Active Member
Posts: 102
Joined: Sat Dec 22, 2007 3:05 pm

Re: Kuvan muuttaminen CB:n koodiksi.

Post by M.R »

Voisi yrittää pakata sitä ohjelman sisäiseen Data-listaan/listoihin.Ja mustat pikselit voisi jättää laittamatta.
Eräs cb koodaaja
Active Member
Posts: 126
Joined: Wed Aug 29, 2007 3:55 pm

Re: Kuvan muuttaminen CB:n koodiksi.

Post by Eräs cb koodaaja »

Tulen tuota vielä laittamaan ja mustan värin voi kyllä jättää pois. Laitan päivityksiä kunhan kerkeän.
Tiimit ja tuotokset:
RE:Ydintuho
Drahtlose:Infernalisch, Pienet pelit
atomimalli
Moderator
Moderator
Posts: 227
Joined: Wed Aug 29, 2007 3:55 pm

Re: Kuvan muuttaminen CB:n koodiksi.

Post by atomimalli »

Pienenä aikaa ja vaivaa säästävänä vinkkinä kerron että getpixel2 on keksitty. Myös sen että vanhoilta foorumeilta löytyy näitä jo useiden vuosien takaa.
Lukitseminen ei tuossa tapauksessa taida auttaa yhtään mitään :o.

Datan käyttöön kannattaa myös tutustua.
SPuntte
Tech Developer
Tech Developer
Posts: 650
Joined: Mon Aug 27, 2007 9:51 pm
Location: Helsinki, Finland
Contact:

Re: Kuvan muuttaminen CB:n koodiksi.

Post by SPuntte »

Tämä on WANHA juttu. Vanhoilta foorumeilta löytyy näitä useampikin kipale. Tosiaan, PutPixel2'a ja GetPixel2'a käyttämällä tästä saa huomattavasti nopeamman. Tosin on se silti suurilla kuvilla tuskallisen hidas.

Offtopic:
atomimalli wrote:Datan käyttöön kannattaa myös tutustua.

Tietääkseni nykyisen CBn Data-systeemi bugaa. Kokeilepa ajaa manuaalin oma esimerkki aiheesta..
CoolBasic henkilökuntaa
Tech-kehittäjä
CoolBasic Classic, Cool VES

CoolPhysicsEngine | MissileSystem | Jana-ympyrä -törmäys | cbSimpleTexture | CoolCPLX
Koodiapina
Forum Veteran
Posts: 2396
Joined: Tue Aug 28, 2007 4:20 pm

Re: Kuvan muuttaminen CB:n koodiksi.

Post by Koodiapina »

SPuntte wrote:Tietääkseni nykyisen CBn Data-systeemi bugaa. Kokeilepa ajaa manuaalin oma esimerkki aiheesta..
OFFTOPIC: Ei ehkä kannata kokeilla. Itselläni meni CB ihan sekaisin. Eka CB meni lukkoon ja sitten kun avasin uudestaan niin se luulee että edellinen ohjelma on päällä eikä suostu tulkkaamaan vaikka tehtävienhallinnassa ei näy mitään cb ohjelmaa.
M.R
Active Member
Posts: 102
Joined: Sat Dec 22, 2007 3:05 pm

Re: Kuvan muuttaminen CB:n koodiksi.

Post by M.R »

Grandi wrote:
SPuntte wrote:Tietääkseni nykyisen CBn Data-systeemi bugaa. Kokeilepa ajaa manuaalin oma esimerkki aiheesta..
OFFTOPIC: Ei ehkä kannata kokeilla. Itselläni meni CB ihan sekaisin. Eka CB meni lukkoon ja sitten kun avasin uudestaan niin se luulee että edellinen ohjelma on päällä eikä suostu tulkkaamaan vaikka tehtävienhallinnassa ei näy mitään cb ohjelmaa.
Offtopic:
Se kyllä toimii mutta esimerkissä on virhe(en tajua mistä johtuu).
Tässäpä esimerkki datan käytöstä:

Code: Select all

Restore testi
Print Read()
WaitKey
End

testi:
Data "Toimiihan tämä CB:n Data."
tuhoojabotti
Advanced Member
Posts: 485
Joined: Tue Aug 28, 2007 3:53 pm
Location: Suomi, Finland
Contact:

Re: Kuvan muuttaminen CB:n koodiksi.

Post by tuhoojabotti »

kokeilin ja toimi mutta kun yritin korjata cb:n esimerkin niin sainkin 6X6 kartan toimimaan sekä 3 eri väriä :D datan arvon mukaan mutta aina tuli mav esciä painettaessa ja windows error... en ainakaan peliäni luottaisi CB:n datan varaan...
Imagedev.tuhoojabotti.com — “Programmer (noun): An organism that turns caffeine into code.”
koodaaja
Moderator
Moderator
Posts: 1583
Joined: Mon Aug 27, 2007 11:24 pm
Location: Otaniemi - Mikkeli -pendelöinti

Re: Kuvan muuttaminen CB:n koodiksi.

Post by koodaaja »

Itsekin pohdin tuota dataa pitkästä aikaa ja jostain syystä kannettavallani se toimii mainiosti, muttei inahdakaan suurimmalla osalla muista koneista. O.o Mikä lie konekohtainen ihme, mutta pääsääntöisesti sitä ei pidä käyttää, niin harvalla toimii. (Ellei exeksi kääntäminen muuta tilannetta? en ole kokeillut..)
Eräs cb koodaaja
Active Member
Posts: 126
Joined: Wed Aug 29, 2007 3:55 pm

Re: Kuvan muuttaminen CB:n koodiksi.

Post by Eräs cb koodaaja »

PickImageColor2 vaatii lukituksen ja on hieman PickImageColoria nopeampi. Voisin yrittää parannella tätä vielä, mutta tuskin kukaan tästä paljoa hyötyy.
EDIT:

Mulla data toimii VÄLILLÄ kun ottaa virheilmotukset pois ERRORS OFF komennolla

Tiimit ja tuotokset:
RE:Ydintuho
Drahtlose:Infernalisch, Pienet pelit
User avatar
elmo123
Active Member
Posts: 153
Joined: Sun Sep 09, 2007 4:19 pm

Re: Kuvan muuttaminen CB:n koodiksi.

Post by elmo123 »

Plääh, tällainen on jo tehty, vanhoilla foorumeilla taisi olla. Include-koodista tulee liian pitkä. Eikö voisi ensin tehdä pienen funktion, joka lukee merkkijonosta
jokaisen pikseliarvon erikseen. Ensin otetaan kuvan leveys ja korkeus(64x64|) ja pystyviiva erottimena. Seuraavaksi tehdään tyhjä kuva eli joo = MakeImage(w, h). Sitten puskuriksi Lock Image(joo) ja

Code: Select all

count = 1
For x = 0 To w 
For y = 0 To h
PutPixel2 x, y, Int(GetWord(stri$), counter, "|")
count+1
Next y
Next x
Unlock Image(joo)
Return joo
Sitten teet ohjelman, jossa näkyy tyhjä lista, johon lataat kuvatiedostoja ja klikkaat vain Pack ja se pakkaa kuvatiedostot. (kuva1 = ExtractImage(wxh|ekapiksel|tokapiksel|kolmaspiksel|jne.|jne...))
Kiinnostuin pelien tekemisestä ennen 1. luokkaa.
Sitten 3. luokalla tuli CB. Ja siitä se alkoi.

Blender! TF2! CB! Game Maker! Nokia-mollaus! Kitaransoitto! Breakdance! MadTracker! Minecraft!
MaGetzUb
Guru
Posts: 1715
Joined: Sun Sep 09, 2007 12:35 pm
Location: Alavus

Re: Kuvan muuttaminen CB:n koodiksi.

Post by MaGetzUb »

elmo123 wrote:Plääh, tällainen on jo tehty, vanhoilla foorumeilla taisi olla. Include-koodista tulee liian pitkä. Eikö voisi ensin tehdä pienen funktion, joka lukee merkkijonosta
jokaisen pikseliarvon erikseen. Ensin otetaan kuvan leveys ja korkeus(64x64|) ja pystyviiva erottimena. Seuraavaksi tehdään tyhjä kuva eli joo = MakeImage(w, h). Sitten puskuriksi Lock Image(joo) ja
Tuostahan jo sanottiinkin että näitä on ollut vanhoill foorumeilla iha hulluna. Minä en kyllä löydä mitää käyttöä tollaaselle väkerrykselle, mieluummin teen oman kuva formaatin. ;)
Solar Eclipse
Meneillä olevat Projektit:
We're in a simulation, and God is trying to debug us.
koodaaja
Moderator
Moderator
Posts: 1583
Joined: Mon Aug 27, 2007 11:24 pm
Location: Otaniemi - Mikkeli -pendelöinti

Re: Kuvan muuttaminen CB:n koodiksi.

Post by koodaaja »

programmer of DSG wrote:
elmo123 wrote:Plääh, tällainen on jo tehty, vanhoilla foorumeilla taisi olla. Include-koodista tulee liian pitkä. Eikö voisi ensin tehdä pienen funktion, joka lukee merkkijonosta
jokaisen pikseliarvon erikseen. Ensin otetaan kuvan leveys ja korkeus(64x64|) ja pystyviiva erottimena. Seuraavaksi tehdään tyhjä kuva eli joo = MakeImage(w, h). Sitten puskuriksi Lock Image(joo) ja
Tuostahan jo sanottiinkin että näitä on ollut vanhoill foorumeilla iha hulluna. Minä en kyllä löydä mitää käyttöä tollaaselle väkerrykselle, mieluummin teen oman kuva formaatin. ;)
Mutta vaikka olisi kuinka hieno kuvaformaatti, et saa kuvia exeen sisälle, ja se on nimenomaan tämän idea; ei tarvitse erillisiä kuvia.
SPuntte
Tech Developer
Tech Developer
Posts: 650
Joined: Mon Aug 27, 2007 9:51 pm
Location: Helsinki, Finland
Contact:

Re: Kuvan muuttaminen CB:n koodiksi.

Post by SPuntte »

koodaaja wrote:Mutta vaikka olisi kuinka hieno kuvaformaatti, et saa kuvia exeen sisälle, ja se on nimenomaan tämän idea; ei tarvitse erillisiä kuvia.
Niinpä, ja järkevän kokoisilla (pienillä) ja kohtuullisella määräällä kuvia tämä on vielä ihan tarkoituksenmukaista, ei tarvitse miettiä pakettia kootessa, että mitäs kaikkea nyt tarvittiinkaan. Tosin kopioinninestossa tämä ei juuri auta, kun tämäntasoisessa pelissä ei tule mitään shadereita päälle 'pilaamaan' grafiikkaa. Eli ihan PrintScreenillä ja pienellä muokkauksella onnistuu. Tosin animaation kopiointi on vähän työläämpää mutta silti. Huijauksenestossa tämä puolestaan toimii hyvin.
CoolBasic henkilökuntaa
Tech-kehittäjä
CoolBasic Classic, Cool VES

CoolPhysicsEngine | MissileSystem | Jana-ympyrä -törmäys | cbSimpleTexture | CoolCPLX
MaGetzUb
Guru
Posts: 1715
Joined: Sun Sep 09, 2007 12:35 pm
Location: Alavus

Re: Kuvan muuttaminen CB:n koodiksi.

Post by MaGetzUb »

Juu, mutta tekee sellaisen kuva formaatin, mitä ei ihan joka Sälli/Jehu/Jamppa saa muokattua.
EDIT:

Niin ja tohon tarttee aivan hirveen kokoosen taulukon, että minä en ainakaan suosittele, tehkää te muut miten tahdotte, mutta mun aika ei riitä tohon; koska pitää saada jotain aikaiseksi.

Last edited by MaGetzUb on Mon Feb 25, 2008 6:43 pm, edited 1 time in total.
Solar Eclipse
Meneillä olevat Projektit:
We're in a simulation, and God is trying to debug us.
Eräs cb koodaaja
Active Member
Posts: 126
Joined: Wed Aug 29, 2007 3:55 pm

Re: Kuvan muuttaminen CB:n koodiksi.

Post by Eräs cb koodaaja »

Milläs semmosen teet? Jos julkaisee lähdekoodin niin kaikki näkee miten se on tehty ja jos ei niin kukaan ei pysty käyttämään. Jo pelkästään funktiosta, joka sen lataa, pystyy lukemaan formaatin rakenteen.
Tiimit ja tuotokset:
RE:Ydintuho
Drahtlose:Infernalisch, Pienet pelit
koodaaja
Moderator
Moderator
Posts: 1583
Joined: Mon Aug 27, 2007 11:24 pm
Location: Otaniemi - Mikkeli -pendelöinti

Re: Kuvan muuttaminen CB:n koodiksi.

Post by koodaaja »

Eräs cb koodaaja wrote:Milläs semmosen teet? Jos julkaisee lähdekoodin niin kaikki näkee miten se on tehty ja jos ei niin kukaan ei pysty käyttämään. Jo pelkästään funktiosta, joka sen lataa, pystyy lukemaan formaatin rakenteen.
Ei julkaise :p

Mutta jos DATA:n saa pelittämään, niin hyvin toimii. Ja ainahan voi käyttää merkkijonoa taulukon sijaan, toimiihan se niinkin. Joskin.. no jaa, kikkailuksi se menee joka tapauksessa. Ja tosiaan, pieniin projekteihin (ei montaa kymmentä kuvaa, etenkään isoja) tämä sopii, muttei kovin hyvin muuhun. Ja totta, tämä on CB:llä ainoastaan kätevyyttä lisäävä, ei kopioinnin estämistä poistava kikka.

EDIT: tuhoojabotti, erittäin hyvä huomio : D
Last edited by koodaaja on Mon Feb 25, 2008 7:43 pm, edited 1 time in total.
tuhoojabotti
Advanced Member
Posts: 485
Joined: Tue Aug 28, 2007 3:53 pm
Location: Suomi, Finland
Contact:

Re: Kuvan muuttaminen CB:n koodiksi.

Post by tuhoojabotti »

Eräs cb koodaaja wrote:Soveltuu HYVIN vain pieniin kuviin, koska suuret kuvat aiheuttavat latausnopeuden huimaa kasvua.
tarkoitat varmaan latausajan huimaa kasvua ;) anteeksi pilkunviilaus :P
Imagedev.tuhoojabotti.com — “Programmer (noun): An organism that turns caffeine into code.”
Post Reply