yihhu.com, hayatım, koşuşturmaca
BitmapData’yı Matrix ile Döndürme
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.
| Print article | This entry was posted by Koray Gülpınar on 03 Eylül 2009 at 10:13, and is filed under Action Script 3 – AS3 ( Flex ). Follow any responses to this post through RSS 2.0. Yorum veya kendi sitenizden geribildirim yapabilirsiniz. |