Grootte manipuleren en objecten schalen

Flash Player 9 of hoger, Adobe AIR 1.0 of hoger

U kunt de grootte van een weergaveobject op twee manieren meten en manipuleren, waarbij u de eigenschappen voor de grootte ( width en height ) of de eigenschappen voor het schalen ( scaleX en scaleY ) gebruikt.

Elk weergaveobject heeft een eigenschap width en height , die aanvankelijk zijn ingesteld op de grootte van het object in pixels. U kunt de waarden van die eigenschappen lezen om de grootte van het weergaveobject te meten. Ook kunt u als volgt nieuwe waarden opgeven om de grootte van het object te wijzigen:

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

Als u de eigenschappen height of width van een weergaveobject wijzigt, wordt het object hierdoor geschaald: de inhoud van het object wordt vergroot of verkleind om in het nieuwe gebied te passen. Als het weergaveobject vectorvormen bevat, worden deze vormen opnieuw getekend met de nieuwe schaal, zonder kwaliteitsverlies. Elk grafisch bitmapelement in het weergaveobject wordt geschaald en niet opnieuw getekend. Als de breedte en hoogte van bijvoorbeeld een digitale foto groter worden gemaakt dan de daadwerkelijke afmetingen van de pixelinformatie in de afbeelding, ziet de foto er korrelig en oneffen uit.

Wanneer u de eigenschap width of height van een weergaveobject wijzigt, werkt Flash Player of AIR de eigenschappen scaleX en scaleY van het object ook bij.

Opmerking: TextField-objecten vormen een uitzondering op dit schalingsgedrag. Tekstvelden moeten hun eigen formaat veranderen ten behoeve van tekstomloop en tekengrootten; daarom worden hun scaleX- of scaleY-waarden weer op 1 ingesteld nadat het formaat is gewijzigd. Als u echter de scaleX- of scaleY-waarde van een TextField-object aanpast, veranderen de breedte- en hoogte-instellingen in overeenstemming met de schaalwaarden die u opgeeft.

Deze eigenschappen vertegenwoordigen de relatieve grootte van het weergaveobject in vergelijking met de oorspronkelijke grootte. De eigenschappen scaleX en scaleY gebruiken breukwaarden (decimaal) om het percentage te vertegenwoordigen. Als de eigenschap width van een weergaveobject bijvoorbeeld zodanig is gewijzigd dat deze half zo groot is als het oorspronkelijke formaat, krijgt de eigenschap scaleX van het object de waarde 0,5 (50 procent). Als de hoogte is verdubbeld, krijgt de eigenschap scaleY de waarde 2 (200 procent).

// 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

Formaatwijzigingen zijn niet proportioneel. Met andere woorden, als u van een vierkant de height wijzigt, maar niet de width , zijn deze eigenschappen niet meer gelijk en is er sprake van een rechthoek in plaats van een vierkant. Als u de grootte van een weergaveobject proportioneel wilt wijzigen, kunt u de waarden van de eigenschappen scaleX en scaleY instellen, als alternatief voor de eigenschappen width of height . Deze code wijzigt bijvoorbeeld de width van het weergaveobject met de naam square . Vervolgens wordt de verticale schaal ( scaleY ) aangepast aan de horizontale schaal, waardoor de zijden van het vierkant gelijk blijven.

// 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;