Boyut ve ölçekleme nesnelerini işleme

Flash Player 9 ve üstü, Adobe AIR 1.0 ve üstü

Görüntüleme nesnesinin boyutunu iki şekilde ölçüp işleyebilirsiniz: boyut özelliklerini (width ve height) veya ölçek özelliklerini (scaleX ve scaleY) kullanarak.

Her görüntüleme nesnesi, başlangıçta piksel olarak nesnenin boyutuna ayarlanan bir width özelliğine ve height özelliğine sahiptir. Görüntüleme nesnesinin boyutunu ölçmek için bu özelliklerin değerlerini okuyabilirsiniz. Ayrıca aşağıdaki gibi, nesnenin boyutunu değiştirmek için yeni değerler de belirtebilirsiniz:

// Resize a display object. 
square.width = 420; 
square.height = 420; 
 
// Determine the radius of a circle display object. 
var radius:Number = circle.width / 2;

Görüntüleme nesnesinin height veya width öğesi değiştirildiğinde, nesnenin ölçeklenmesi sağlanır, başka bir deyişle, nesne yeni alana sığacak şekilde genişletilir ya da daraltılır. Görüntüleme nesnesi yalnızca vektör şekilleri içeriyorsa, bu şekiller herhangi bir kalite kaybı olmadan yeni ölçekte yeniden çizilir. Görüntüleme nesnesindeki tüm bitmap grafik öğeleri yeniden çizilmek yerine ölçeklenir. Bu nedenle, örneğin genişlik ve uzunluğu görüntüdeki piksel bilgilerinin gerçek boyutlarından fazlasına artırılan dijital bir fotoğraf pikselleştirilerek fotoğrafın tırtıklı görünmesi sağlanır.

Görüntüleme nesnesinin width veya height özelliklerini değiştirdiğinizde, Flash Player ve AIR, nesnenin scaleX ve scaleY özelliklerini de günceller.

Not: TextField nesneleri, bu ölçekleme davranışına bir istisnadır. Metin alanlarının, metin kaydırma ve font boyutlarını barındıracak şekilde kendini yeniden boyutlandırması gerekir; dolayısıyla metin alanları, yeniden boyutlandırmadan sonra scaleX veya scaleY değerlerini 1 olarak sıfırlar. Ancak, TextField nesnesinin scaleX veya scaleY değerlerini ayarlarsanız, genişlik ve yükseklik değerleri, sağladığınız ölçekleme değerlerini alacak şekilde değiştirilir.

Bu özellikler, görüntüleme nesnesinin orijinal boyuta göre göreceli boyutunu temsil eder. scaleX ve scaleY özellikleri, yüzdeyi temsil etmek için kesirli (ondalık) değerleri kullanır. Örneğin, bir görüntüleme nesnesinin width öğesi, orijinal boyutunun yarısı kadar olacak şekilde değiştirilirse, nesnenin scaleX özelliği yüzde 50 anlamına gelen .5 değerine sahip olur. Yüksekliği iki katına çıkarılırsa, scaleY özelliği yüzde 200 anlamına gelen 2 değerine sahip olur.

// circle is a display object whose width and height are 150 pixels. 
// At original size, scaleX and scaleY are 1 (100%). 
trace(circle.scaleX); // output: 1 
trace(circle.scaleY); // output: 1 
 
// When you change the width and height properties,  
// Flash Player changes the scaleX and scaleY properties accordingly. 
circle.width = 100; 
circle.height = 75; 
trace(circle.scaleX); // output: 0.6622516556291391 
trace(circle.scaleY); // output: 0.4966887417218543

Boyut değişiklikleri orantısaldır. Başka bir deyişle, bir karenin height öğesini değiştirir ancak width öğesini değiştirmezseniz, karenin oranları aynı olmaz ve bu artık bir kare değil dikdörtgen olur. Görüntüleme nesnesinin boyutunda göreceli değişiklikler yapmak isterseniz, nesneyi yeniden boyutlandırmak için width veya height özelliklerini ayarlamaya alternatif olarak, scaleX ve scaleY özelliklerinin değerleri ayarlayabilirsiniz. Örneğin, bu kod, square adındaki görüntüleme nesnesinin width özelliğini değiştirir ve sonra karenin orantısı bozulmayacak şekilde yatay ölçekle eşleşmesi için dikey ölçeği (scaleY) değiştirir.

// Change the width directly. 
square.width = 150; 
 
// Change the vertical scale to match the horizontal scale,  
// to keep the size proportional. 
square.scaleY = square.scaleX;