JS koda za barvanje slik
 
neon 9. nov 2009 16:31:26 Pridružen od:
3. okt 2008
242 objav
40 18 3
#1

Zanima me če obstaja kaka skripta ki bi na rollover pobarvala sliko v grayscale al pa črnobelo no ... seveda brez tega da bi delal dodatne slike ki bi ble grayscale... torej da zadeva deluje samodejno :)



Tud PHP pride v poštev :)


všeč(0) ni všeč(0) spam(0)
*Uporabniku je bila prepovedana uporaba foruma zaradi ignoriranja pravil trgovanja*
 
provincjalc 24. nov 2009 07:37:25 Pridružen od:
22. maj 2009
101 objav
62 8 2
#2

Sliko se da praktično v vsakem programskem jeziku pretvori v sivinsko. Vse kar je potrebno narediti je da letiš čez vse pixle na slike vzameš vrednost za rdečo, zeleno in modro barvo, jih sešteješ in deliš s tri, ter to vrednost zapišeš nazaj v vsako od 3 barv. Sivo barvo dobiš tako da so vse vrednosti (za rdečo,zelena in modra) enake.



Sedaj vse kar potrebuješ pri posameznem jeziku je funkcija za extraktanje posameznega pixla iz slike, ter kreiranje slike iz bufferja.



kako to narediš v php-ju imaš v spodnjem linku. Vse kar moraš sedaj narediti je da predelaš da se to izvede na rollover.



http://bubble.ro/HowtoconvertanimagetograyscaleusingPHP.html


všeč(0) ni všeč(0) spam(0)
 
fatg 24. nov 2009 08:28:59 Pridružen od:
28. jan 2008
94 objav
73 2 0
#3

Z WideImage nekako takole:



WideImage::load('slika.png')->asGrayscale()->saveToFile('siva.png');



Lahko si pogledaš tudi demo.


všeč(0) ni všeč(0) spam(0)
 
Vini 24. nov 2009 08:37:54 Pridružen od:
1. sep 2006
6612 objav
5234 611 56
#4

provincjalc, se ti ne zdi, da malo kompliciraš? :)



...

imagefilter($imageresource, IMGFILTER_GRAYSCALE);

...



Je pa rahlo čudno vprašal neon, PHP pride v poštev, le dodatnih slik ne bi rad delal? Ne bo šlo :) PHP je server side in mora generirati dodatno sliko v grayscale, če želiš, da ti jo bo browser tako tudi pokazal.


všeč(0) ni všeč(0) spam(0)
 
Roky 24. nov 2009 09:06:27 Pridružen od:
9. apr 2008
2506 objav
3240 335 107
#5

Vini, pa mogoče še lažje z wideimage ->asGrayscale.


všeč(0) ni všeč(0) spam(0)
rok.meglic@gmail.com - 031 492 148
 
Vini 24. nov 2009 10:59:59 Pridružen od:
1. sep 2006
6612 objav
5234 611 56
#6

Roky, seveda, WideImage je pač en PHP wrapper za GD2, ki ga je sicer napisal nam vsem znani fatg, plod slovenskega znanja torej :P



Verjetno metoda asGrayscale izgleda nekako tako, kot sem napisal zgoraj, torej:


public function asGrayscale() {
imagefilter($this->image_resource, IMG_FILTER_GRAYSCALE);
return $this;
}

Imam prav, fatg? :)



Kaj je lažje v tem primeru, je sicer stvar debate, ampak če fant želi sliko res le pretvoriti v grayscale, je mogoče instalacija dodatne knjižnice rahel overhead :)



Če pa želi nad sliko izvajati še kaj, potem je pa res smotrno razmišljati v smeri nekega wrapperja, pa naj bo to WideImage ali pa katerikoli drugi.



Smo šli pa verjetno rahlo off-topic, če jaz prav razumem, želi on neko client-side rešitev, ki jo bo pa s PHPjem težko izvedel :)


všeč(0) ni všeč(0) spam(0)
 
Roky 24. nov 2009 11:26:26 Pridružen od:
9. apr 2008
2506 objav
3240 335 107
#7

Vini, res je, to je enostaven wrapper, ki pa mu zna priti prav pri nalaganju slik različnih extensions. Karkoli že, le dodatna izbira.


všeč(0) ni všeč(0) spam(0)
rok.meglic@gmail.com - 031 492 148
 
Vini 24. nov 2009 11:27:57 Pridružen od:
1. sep 2006
6612 objav
5234 611 56
#8

Obstaja možnost, da dosežeš prav to na strani clienta, z uporabo CSS filter propertyja, ki pa ga "žal" podpira le IE :)


všeč(0) ni všeč(0) spam(0)
 
fatg 24. nov 2009 11:45:36 Pridružen od:
28. jan 2008
94 objav
73 2 0
#9

Vini:

Imam prav, fatg? :)




podcenjuješ mojo sposobnost kompliciranja! :D



Drugače pa, ja, library je lahko overhead, če rabiš samo eno malenkost.


všeč(2) ni všeč(0) spam(0)
 
Vini 24. nov 2009 11:52:57 Pridružen od:
1. sep 2006
6612 objav
5234 611 56
#10

U, jebenti :P



To si želel doseči nek kvazi metaprogramming, da si za metode dodajal nove classe?


všeč(0) ni všeč(0) spam(0)
 
 

🔒 Za odgovor na to temo se moraš prijaviti.

Prijavi se