Page 1 of 1

cbSpritex + lähdekoodit + ImgEx V2

Posted: Thu Jul 14, 2011 2:40 pm
by Misthema
Lataa lähdekoodit täältä

Innostuinpas tuossa viime sunnuntaina tekemään piirto-/kuvankäsittelyohjelmaa. Sain siis aikaiseksi cbSpritex:n!

En nyt (jaksa) osaa tässä mitään selitellä, joten heitän teille kuvankaappausta ja pakettia. =)
Kuva 1
Kuva 1
screenshot_v06b.PNG (102.58 KiB) Viewed 16465 times
cbSpritex071b.rar

Bugeista sun muista olisi kanssa kiva kuulla ja toki ideoista.

Kommentoikaa! =)
EDIT:

Unohdinpas sanoa, että parempaa kuvanvenytystä olisi kiva saada.. Tällä hetkellä käytän muokattua Marcoder:n ScaleImage -funktiota, jota kutsutaan aina kun zoomataan lähemmäs/kauemmas tai kun piirretään alkuperäiseen kuvaan.


Re: cbSpritex - Kuvankäsittelyä ja piirtämistä

Posted: Thu Jul 14, 2011 3:26 pm
by MaGetzUb
No jo on screenshoteista päätellen jäätävä perus(get it right? xD vehje. :D Pitääpä ladata ja testata.. edittaan sitte.. :D
EDIT:

Piirtelin sinistä viivaa perus siveltimellä, sitten ajattelin vaihtaa sivellintä/työkalua ja BANG, rakas ystävämme: Memory access violation!


Re: cbSpritex - Kuvankäsittelyä ja piirtämistä

Posted: Thu Jul 14, 2011 3:41 pm
by MrMonday
MaGetzUb wrote:
EDIT:

Piirtelin sinistä viivaa perus siveltimellä, sitten ajattelin vaihtaa sivellintä/työkalua ja BANG, rakas ystävämme: Memory access violation!

Kävi samoin itselleni.. Ja toisekseen, koordinaatteja näyttävät luvut värjäytyy piirrettäessä piirtovärin mukaiseksi (ei tosin mikään iso ongelma). Ja nykyisen piirtovärin ilmoittava laatikko oikeassa ylälaidassa piirtyy kaikkien ikkunoiden päälle, mikä nyt ei sekään maailman loppu ole.. Varmaankin paras piirto-ohjelma, mitä olen cbllä nähnyt tehtävän, jotta ei muuta kuin menestystä projektille :)

Re: cbSpritex - Kuvankäsittelyä ja piirtämistä

Posted: Thu Jul 14, 2011 4:35 pm
by Misthema
Sivellintä? Työkalua? Tarkoittanette siis kynän värisuodatinta (pen filter)? Hmm.. Hassua sinänsä, koska itselläni ei ohjelma ole mavannut kertaakaan. :( Olisiko kone-/käyttiskohtaista?

Re: cbSpritex - Kuvankäsittelyä ja piirtämistä

Posted: Thu Jul 14, 2011 5:01 pm
by MrMonday
Misthema wrote:Sivellintä? Työkalua? Tarkoittanette siis kynän värisuodatinta (pen filter)? Hmm.. Hassua sinänsä, koska itselläni ei ohjelma ole mavannut kertaakaan. :( Olisiko kone-/käyttiskohtaista?
Itsellä 64-bittinen win 7, mutta en tiedä vaikuttaako.. Tai sitten taas jotain mysteerimaveja, mihin ei löydy syytä mistään.. mutta mav tuli vain kerran, että en tiiä sitte..

Re: cbSpritex - Kuvankäsittelyä ja piirtämistä

Posted: Thu Jul 14, 2011 6:10 pm
by MetalRain
Mistä näppäimestä tuo zoomi oikein toimii? Onko se vielä käytettävissä? Paksumpia kyniä haluaisi toki myös käyttää ja niiden myötä ehkä eri muotoisia/tiheyksisiä siveltimiä. Ja useampi pikavalinta värille olisi hyvä olla. Tuohon MAV asiaan varmaan auttaa se että aina tarkistaa ettei piirrä putpixelillä kuvan ulkopuolelle.

Re: cbSpritex - Kuvankäsittelyä ja piirtämistä

Posted: Thu Jul 14, 2011 6:33 pm
by Kumiankka
Näyttäähän tuo hienolta mutta minulla ainakin mavaa välittömästi kun painan jostain...

Re: cbSpritex - Kuvankäsittelyä ja piirtämistä

Posted: Thu Jul 14, 2011 8:10 pm
by MaGetzUb
Siis minulla tuli ensimmäisen kerran siinä kun valitsin taisi olla sivellin tai joku sinnepäin... Sitten tokalla kerralla tuli mavi pelkästään kun painoi jotain menu nappia sieltä ylhäältä.. :)

Re: cbSpritex - Kuvankäsittelyä ja piirtämistä

Posted: Thu Jul 14, 2011 11:53 pm
by Misthema
MetalRain wrote:Mistä näppäimestä tuo zoomi oikein toimii? Onko se vielä käytettävissä? Paksumpia kyniä haluaisi toki myös käyttää ja niiden myötä ehkä eri muotoisia/tiheyksisiä siveltimiä. Ja useampi pikavalinta värille olisi hyvä olla. Tuohon MAV asiaan varmaan auttaa se että aina tarkistaa ettei piirrä putpixelillä kuvan ulkopuolelle.
Zoom toimii Z:sta (lähemmäs) ja X:stä (kauemmas). Unohdin kirjoitella LueMinut.txt:n ja pahoittelen sitä. Eri paksuuksia sun muita on toki tulossa, ja perus siveltimet (ympyrä ja neliö). Ajattelin myös että käyttäjät voisivat vääntää omia siveltimiään ja määritellä samannimiseen asetustiedostoon miten kuva/kuvasarja käyttäytyy (kääntyykö hiiren menosuuntaan, pyöriikö randomisti vai pysyykö tietyssä asennossa, yms.).

Tällä hetkellä yritän tviikkailla täyttötyökalua, koska se on mahdottoman hidas isommilla kuin 64x64 kuvilla (koodi lähti melkoisesti purkkauksen suuntaan tuossa parit päivät sitten =D).

Päivittelen taas jahka saan jotain aikaiseksi!

Re: cbSpritex - Kuvankäsittelyä ja piirtämistä [Päivitys 0.7

Posted: Sun Jul 17, 2011 3:47 pm
by Misthema
Noniin, josko nytten nuo mysteerimavit olisivat vähentyneet... =)
Täyttötyökalu on edelleen hidas, mutta toimii.

Re: cbSpritex - Kuvankäsittelyä ja piirtämistä [Päivitys 0.7

Posted: Sun Jul 17, 2011 11:14 pm
by legend
Misthema wrote:Noniin, josko nytten nuo mysteerimavit olisivat vähentyneet... =)
Täyttötyökalu on edelleen hidas, mutta toimii.
Itse joskus kun kehittelin kuvankäsittely ohjelma tuli mieleen että nopeata täyttötyökalua on vaikea tehdä. Niin keksin ajatuksen maskimage systeemistä, aluksi käyttäjä piirtäisi laatikon suurin piirtein haluamalle alueeelle. Alkuperäinen kuva maskattaisiin laatikon sisällä olevilla väreillä. (Näkyy läpi siitä kohtaa.) Ohjelama piirtäisi haluamansa värin kuvan alle joten se näyttäisi täytetyltä. Ja vielä laatikon ympärillä olevalle alueelle piirettäisin alkuperäinen kuva jotta haluamattomat kohdat ei värjäytyisi. En ole varma toimiiko mutta idea kuulostaa hyvältä =D
Ymmärsikö kukaan?

Re: cbSpritex - Kuvankäsittelyä ja piirtämistä [Päivitys 0.7

Posted: Mon Jul 18, 2011 12:16 am
by Latexi95
Niin siitä täyttö työkalusta:

Code: Select all

Type FILL_DOT
   Field x%
   Field y%
EndType
Function Fill(img,x,y)
   imW=ImageWidth(img)
   imH=ImageHeight(img)
   buff=Image(img)
   Lock buff
   col%=(getRGB(BLUE)+(getRGB(GREEN) Shl 8)+(getRGB(RED)Shl 16)+(255 Shl 24))
   rep%=GetPixel2(x,y,buff)
   PutPixel2 x,y,col,buff
   pix.FILL_DOT=New(FILL_DOT)
   pix\x=x
   pix\y=y
   While Last(FILL_DOT)<>NULL
      Clock=Clock Xor 1
      If Clock Then ipix.FILL_DOT=Last(FILL_DOT) Else ipix.FILL_DOT=First(FILL_DOT)
      If GetPixel2(ipix\x+1,ipix\y,buff)=rep% And ipix\x<imW
         pix.FILL_DOT=New(FILL_DOT)
         pix\x=ipix\x+1
         pix\y=ipix\y
         PutPixel2 pix\x,pix\y,col,buff
      EndIf
      If GetPixel2(ipix\x,ipix\y-1,buff)=rep% And ipix\y>0
         pix.FILL_DOT=New(FILL_DOT)
         pix\x=ipix\x
         pix\y=ipix\y-1
         PutPixel2 pix\x,pix\y,col,buff
      EndIf
      If GetPixel2(ipix\x-1,ipix\y,buff)=rep% And ipix\x>0
         pix.FILL_DOT=New(FILL_DOT)
         pix\x=ipix\x-1
         pix\y=ipix\y
         PutPixel2 pix\x,pix\y,col,buff
      EndIf
      If GetPixel2(ipix\x,ipix\y+1,buff)=rep% And ipix\y<imH
         pix.FILL_DOT=New(FILL_DOT)
         pix\x=ipix\x
         pix\y=ipix\y+1
         PutPixel2 pix\x,pix\y,col,buff
      EndIf

      Delete ipix         
   Wend
   Unlock buff
EndFunction
Siinä on nopein täyttöfunktio cb:lle minkä tiedän. Kaivoin sen esillä Animaattorin sorsista(löytyvät ihan samasta paketista exen kanssa). Kyllä siinä vähän aikaa täyttämisessä menee, mutta on se reippaasti nopeampi kuin tuo sinun, varsinkin jos alue on todella iso. Funktio ei ole itse tekemäni, muistelen että joku antoisen minulle, mutta en kyllä muista kuka...(olisiko ollut JATothrim?) Sinun voisi kannattaa vilkaista Animaattorin sorsia, niistä voisi löytyä jotain muutakin hyödyllistä.


Niin ja voisit tehdä tuon yläpalkin avattu valikko vaihtuu, kun hiiri siirretään toisen yläpalkin napin päälle. Mutta todella hienon näköinen. Pidä tämän ulkonäöstä. :D

Re: cbSpritex - Kuvankäsittelyä ja piirtämistä [Päivitys 0.7

Posted: Mon Jul 18, 2011 1:53 am
by Misthema
Kiitos Latexi95! Kas kun en itse keksinyt samaa, nimittäin kynällä ja viivalla piirtäminen toimii myös tyypeillä (joka kierroksella napataan hiiren koordinaatit, lasketaan sen ja edellisen kulma ja matka ja lopuksi otetaan koordinaatit pikselille ja putpixelillä isketään kuvaan).

Tekisi kyllä suuresti mieli jakaa cbSpritex:n lähdekoodia, mutta toisaalta taas haluisin tehdä itse ensin kaiken - jos siis julkaisisin koodit, saisin kommenttia lähinnä niistä, enkä ohjelmasta. =P
Mutta koodien julkaisu koittaa vielä, lupaan sen.

Ja sitten kehitysuutisiin: Sain tehtyä ImgEX:stä uuden version, V2. Se on sukkelampi ja paljon yksinkertaisempi kuin edeltäjänsä. En aio erikseen sitä julkaista - kuten cbFilt:n päivityksiä - vaan se on saatavissa uuden päivityksen myötä ohjeiden kera.

Ennen kuin julkaisen uutta versiota cbSX:stä, teen siihen vielä pari pienehköä lisäystä liittyen työkaluihin, kuvakerroksiin ja kuvasuodattimiin... ;)

Re: cbSpritex - Kuvankäsittelyä ja piirtämistä [Päivitys 0.7

Posted: Mon Jul 18, 2011 8:56 am
by Sly_Jack0
Misthema wrote:Tekisi kyllä suuresti mieli jakaa cbSpritex:n lähdekoodia, mutta toisaalta taas haluisin tehdä itse ensin kaiken - jos siis julkaisisin koodit, saisin kommenttia lähinnä niistä, enkä ohjelmasta. =P
Mutta koodien julkaisu koittaa vielä, lupaan sen.
GitHub? <3

Re: cbSpritex - Kuvankäsittelyä ja piirtämistä [Päivitys 0.7

Posted: Mon Jul 18, 2011 1:45 pm
by Misthema
Sitä kerkiää kyllä vielä miettimään... =)
Jos hyvin käy, pusken tänään uutta päivitystä med ImgEX V2.

Re: cbSpritex + lähdekoodit + ImgEx V2

Posted: Tue Dec 27, 2011 6:37 pm
by Misthema
Lähdekoodit ovat nyt sitten jaossa. Kehitys siis loppui kokonaan minun osaltani.. Alkoi menemään liian monimutkaiseksi. :lol:
Laittakaa vaikka GitHubiin tms jos haluatte jatkaa kehitystä!