Resize to Box
Resize any display object, maintaining aspect ratio, to fit within a box.
♥0 |
Line 45 |
Modified 2010-09-22 01:34:32 |
GPLv3 License
archived:2017-03-20 19:26:21
ActionScript3 source code
/**
* Copyright rfkrocktk ( http://wonderfl.net/user/rfkrocktk )
* GNU General Public License, v3 ( http://www.gnu.org/licenses/quick-guide-gplv3.html )
* Downloaded from: http://wonderfl.net/c/zeEK
*/
package {
import caurina.transitions.Tweener;
import flash.display.Sprite;
public class ResizeToBoxTest extends Sprite {
private var measure:Sprite;
private var target:Sprite;
public function ResizeToBoxTest() {
this.target = new Sprite();
this.target.graphics.beginFill(0xFFFF77, 0.5);
this.target.graphics.drawRect(0, 0, 300, 400);
this.target.graphics.endFill();
this.target.x = this.target.y = 25;
this.addChild(this.target);
}
}
}
import flash.display.DisplayObject;
import flash.geom.Rectangle;
class Resize {
public function Resize() {
}
public function fit(displayObject:DisplayObject, rectangle:Rectangle,
useScale:Boolean = false):void {
if (useScale) {
fitUsingScale(displayObject, rectangle);
} else {
fitUsingWidthAndHeight(displayObject, rectangle);
}
}
public function fitUsingWidthAndHeight(displayObject:DisplayObject,
rectangle:Rectangle):void {
}
public function fitUsingScale(displayObject:DisplayObject,
rectangle:Rectangle):void {
var scaleX:Number = rectangle.width / displayObject.width;
var scaleY:Number = rectangle.height / displayObject.height;
var scale:Number = NaN;
if (scaleX > scaleY) {
scale = scaleY;
} else {
scale = scaleX;
}
displayObject.scaleX = displayObject.scaleY = scale;
}
}