//courtesy of Colin Moock: http://www.moock.org/blog/archives/000292.html
/**
* Returns the distance from the registration point of the specified
* object to the bottom-most visible pixel, ignoring any region
* that is not visible due to masking. For example, if a display
* object contains a 100-pixel-high shape and a 50-pixel-high mask,
* getVisibleHeight() will return 50, whereas DisplayObject's
* "height" variable would yield 100.
*
* The maximum measureable dimensions of the supplied object is
* 2000x2000.
*/
function getVisibleHeight (o:DisplayObject):Number {
var bitmapDataSize:int = 2000;
var bounds:Rectangle;
var bitmapData:BitmapData = new BitmapData(bitmapDataSize, bitmapDataSize, true, 0);
bitmapData.draw(o);
bounds = bitmapData.getColorBoundsRect( 0xFF000000, 0x00000000, false );
bitmapData.dispose();
return bounds.y + bounds.height;
}
/**
* Returns the distance from the registration point of the specified
* object to the right-most visible pixel, ignoring any region
* that is not visible due to masking. For example, if a display
* object contains a 100-pixel-wide shape and a 50-pixel-wide mask,
* getVisibleWidth() will return 50, whereas DisplayObject's
* "width" variable would yield 100.
*
* The maximum measureable dimensions of the supplied object is
* 2000x2000.
*/
function getVisibleWidth (o:DisplayObject):Number {
var bitmapDataSize:int = 2000;
var bounds:Rectangle;
var bitmapData:BitmapData = new BitmapData(bitmapDataSize, bitmapDataSize, true, 0);
bitmapData.draw(o);
bounds = bitmapData.getColorBoundsRect( 0xFF000000, 0x00000000, false );
bitmapData.dispose();
return bounds.x + bounds.width;
}
Comments
0 B
|👍
/👎
0 B
|0 👍
/0 👎
0 B
|👍
/👎
0 B
|👍
/👎