Bu yazımdan itibaren AS3 hakkında küçük ipuçları da yazmayaca başlayacağım.Bugun gördüğüm ve sizlerle paylaşmak istediğim bir küçük nokta var. Matrix ile bitmapdatanın hem scale edilişini ve çevirilmesine ilişkin örnek:

mtrx = new Matrix();
mtrx.scale(imageView.width/tmp_bitmapd.width,imageView.height/tmp_bitmapd.height);

mtrx.translate( -imageView.width / 2 ,-imageView.width / 2);
mtrx.rotate(sizeSelector.value * (Math.PI / 180));
mtrx.translate( imageView.width / 2 ,imageView.width / 2 );

imageView.graphics.clear();
imageView.graphics.beginBitmapFill(tmp_bitmapd,mtrx,false);
imageView.graphics.drawRect(0, 0, imageView.width, imageView.height);
imageView.graphics.endFill();
yukardaki örnek yihhu.com’un yüz maskeleme kısmından aldım.Şimdi kodları satır satır inceleyeceğiz.

mtrx = new Matrix();
mtrx.scale(imageView.width/tmp_bitmapd.width,imageView.height/tmp_bitmapd.height);
Yukardaki kodda, daha önce tanımladığımız mtrx değişkeni oluşturuluyor.Daha sonrasında tmp_bitmapd değişkeni ile gelen bitmapdata içinde bulunan resmimizi imageView içerisinde rahatlıkla sığması için ölçeklendirmesini yapıyoruz.

mtrx.translate( -imageView.width / 2 ,-imageView.width / 2);
mtrx.rotate(sizeSelector.value * (Math.PI / 180));
mtrx.translate( imageView.width / 2 ,imageView.width / 2 );
Yukarda kod örneği ile elimizdeki bitmapdata’nın x ve y eksenlerinin orta noktasından dönmesini sağlıyoruz. Sizde bilirsinizki bir cismin döneceği nokta önemlidir. Ben aynı bölgede kendi etrafında dönmesi istediğim için bu şekilde yaptım.

imageView.graphics.clear();
imageView.graphics.beginBitmapFill(tmp_bitmapd,mtrx,false);
imageView.graphics.drawRect(0, 0, imageView.width, imageView.height);
imageView.graphics.endFill();
Yukardaki kodda ise belirlediğimiz mtrx değerleri ölçüsünde tmp_bitmapd değişkeni içerisindeki resimi imageView nesnesine çiziyoruz.

Bu yazıda ilk defa WP-Syntax eklentisini kullanıyorum. Umarım başarılı olmuşumdur.