Actionscript 3.0 İle Görüntü Filtrelerini Kullanmak

12 Eylül 2008 – 01:28

Resim işleme programlarında kullanılan resim efektlerinin bir kısmını Flash içerisinde de uygulayabiliyoruz. Tabii bu hem IDE kısmında hem de kod kısmında yapılabilen bir işlem. Ben kod kısmına değineceğim. Actionscript ile görüntü objelerine verebileceğiniz efekt sayısı birkaç tane ile sınırlı değil. Daha doğrusu buradaki sayıyı sizin yaratıcılığınız ve merakınız belirliyor. Burada sadece var olan filtreleri düşünmeyin, yeni filtreler yaratabilir ve bunlarıda kullanabilirsiniz. Özellikle Flash Player’in yeni sürümünde (Cod Adı: Astro) kendi filtrelerinizi oluşturmak için ayrı bir program yer almakta (Pixel Bender). Bu programın mantığına ve nasıl çalıştığına bir sonraki yazıda değinceğim.

Yeni Bir Filtre Oluşturmak ve Uygulamak

Yeni bir filtre oluşturmak aslında çok basit. Burada ki mantık normal obje oluşturma ile aynı, yani yapacağınız tek işlem yeni bir filtre objesi oluşturmak ve bu filtrenin zorunlu kıldığı değerleri vermek. En basit ve en çok kullanılan filtrelerden bir tanesi Blur filtresi.

  1. var blurFilt:BlurFilter = new BlurFilter (10, 10, BitmapFilterQuality.HIGH);

Yukarıda oluşturulan yeni Blur Filtresi 3 adet parametre alıyor. Bunların ilki x koordinatına uygulamak istediğiniz blur değeri, ikincisi y koordinatına uygulamak istediğiniz blur değeri. Son olarak ta filtrenin kalitesi. Diğer bir deyişle filtrenin aldığı parametreler şu şekilde;

  1. var blurFilt:BlurFilter = new BlurFilter (blurX, blurY, BitmapFilterQuality.HIGH);

Filtremizi oluşturduk, peki bu filtreyi bir görüntü objesine nasıl uygulayabiliriz? Bunun için aslında iki yöntem var, bunların ilki DisplayObject sınıfının filters özelliği ile ikincisi ise BitmapData sınıfının applyFilter metodunu kullanarak. Bu makalede Display Object sınıfının filters özelliğini kullanacağım.

  1. my_mc.filters = [blurFilt];

Evet, gördüğünüz gibi aslında mantık çok basit, herhangi bir movie clibe x koordinatını atamak ile aynı şey aslında. Değinmek istediğim nokta ise filters özelliği aslında bir dizi değişkeni şeklinde yapılandırılmış. Bunun sebebi ise bir görüntü objesine birden fazla filtre kullanımı sağlamak için.

Birden Fazla Filtre Uygulamak

Yukarda dediğim gibi aslında birden fazla filtre uygulamak ile tek bir filtre uygulamak arasında bir fark yok. Tek yapmanız gereken filtre özelliğine bu filtreleri teker teker eklemek.

  1. var blurFilt:BlurFilter = new BlurFilter (10, 10, BitmapFilterQuality.HIGH);
  2. var shadowFilt:DropShadowFilter = new DropShadowFilter(10,45,0×999999,1.0, 5,5);
  3. my_mc.filters = [blurFilt, shadowFilt];

Kullanılan Filtreleri Kaldırmak

Dinamik olarak oluşturduğunuz filtreleri belli bir süre sonra kaldırmak isteyebilirsiniz. Bu gibi durumlarda yapmanız gereken filtreyi uyguladığınız objenin filters özelliğini yeniden düzenlemek. Eğer tüm filtreleri kaldırmak istiyorsanız yapmanı gereken tek şey, filters özelliğine null değerini vermek. Böylece tüm filtreleri iptal etmiş olursunuz.

  1. my_mc.filters = null;

Tabii eğer sadece tek bir filtreyi kaldırıp diğerlerini karışmak istemiyorsanız, tüm filtreleri bir dizi değişkenine atayarak, sadece istediğiniz filtreyi içerisinden silip, dizi değişkenini referans olarak filters özelliğine atayabilirsiniz.

Filtre Örnekleri

Aşağıdaki swf dosyasında birkaç tane filtreyi kullanarak basit bir örnek yaptım. Uygulanan filtre ile beraber filtrenin kodunu da sağ tarafta görebilirsiniz. Yukarıda filtrelerin sadece temelde nasıl kullanıldığına dair bilgiler yer almakta. Filtreler içerisinde kullanılan özelliklerin neler olduğu ve flash.filters paketindeki diğer filtrelere aşağıdaki linkten ulaşabilirsiniz. http://livedocs.adobe.com/flash/9.0/ActionScriptLangRefV3/flash/filters/package-detail.html

Kaynak Kodlar
Engin Yöyen

Bu makale ile ilgili olabilecek yazılar


  1. 3 Responses to “Actionscript 3.0 İle Görüntü Filtrelerini Kullanmak”

  2. güzel makale, teşekkürler…

    By arda gökbulut on Eyl 21, 2008

  1. 2 Trackback(s)

  2. Eyl 14, 2008: Engin Yöyen - Stay Updated On Web » Blog Archive » Pixel Bender’a Genel Bakış
  3. Eki 14, 2008: Engin Yöyen - Stay Updated On Web » Blog Archive » Pixel Bender Filtrelerinin Kullanımı

Yorum Ekleyin