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;