ConvolutionFilter

Jedan od mocnijih filtera u Flashu je sigurno ConvolutionFilter. Pomocu njega je moguce definirati vlastite filtre (blur, sharp, beveling, emboss…) Za razliku od npr. ColorMatrix filtera nema definirane dimenzije matrice. Velicina matrice definira izgled i jakost filtera koji zelimo postici. Filter odreduje posao na razini jednog piksela.
Igrajte se na primjeru ispod pomicuci slidere i zatim klik na “prihvati” da bi se primjenio filter.



Download Ovdje mozete skinuti source


Primjena je zaista jednostavna. Kao prvo moramo importirati potrebnu klasu:

  • import flash.filters.ConvolutionFilter;

Slijedi definiranje polja (tj. matrice) - u mom slucaju to je matrica dimenzija 3×3.
x,y,z,i,j,k,m,n,o su vrijednosti koje su po vasoj volji npr. [10 , 4 , 0 , 2 , 2 , -10 , -20 , 0 , 10]

  • var mat:Array = [ x , y , z , i , j , k , m , n , o ];

Nakon toga kreiramo svoj filtar kojemu pridruzujemo nase polje (matricu 3×3)

  • var convMat:ConvolutionFilter = new ConvolutionFilter(3,3,mat);

I jos samo primjena filtera na sliku (Instance name slika):

  • slika.filters = [convMat];

I to je to. Lagano i mocno. U mom primjeru mijenjanje vrijednosti filtera je izvedeno pomocu slidera pa je i kod dosta dulji, ali u biti sve vazno za ovaj filter je napisano :D Samo je potrebno daljnje istrazivanje… Nadam se da sam vam pokrenuo mastu….

Ako zelite detaljan opis izrade ovog primjera oglasite se preko komentara…





1 Star2 Stars3 Stars4 Stars5 Stars (1 votes, average: 4 out of 5)
Loading ... Loading …

Komentari

Verification Image

Unesite slova sa slike.