【问题标题】:Only scale image if above certain dimensions仅在超过特定尺寸时才缩放图像
【发布时间】:2014-02-16 01:59:20
【问题描述】:

我有一个图像加载器,用户可以在其中上传自己的图像,我想知道如何仅在宽度和高度超过一定大小时才缩放图像?例如,200 x 200 的图像不会被缩放,但 2000 x 2000 的图像会被缩放。

function selectedFile(e:Event):void{
    browseImage.addEventListener(Event.COMPLETE, completeLoadImage);
    browseImage.load();
    browseImage.removeEventListener(Event.SELECT, selectedFile);
}

function completeLoadImage(e:Event):void{

imageLoader.loadBytes(e.target.data);
imageLayer.addChild(imageLoader);
if (imageLoader.contentLoaderInfo.width > 250 && imageLoader.contentLoaderInfo.height > 250)
{
    imageLoader.scaleX = imageLoader.scaleY = 0.2;
}

【问题讨论】:

    标签: actionscript-3 flash


    【解决方案1】:

    看看Loader.contentLoaderInfo

    const MIN_HEIGHT_FOR_SCALING:Number = 1000;
    const MIN_WIDTH_FOR_SCALING:Number = 1000;
    var loader:Loader = new Loader();
    loader.addEventListener(Event.COMPLETE, completeHandler);
    
    function completeHandler(e:Event):void {
        if (loader.contentLoaderInfo.height > MIN_HEIGHT_FOR_SCALING && loader.contentLoaderInfo.width > MIN_WIDTH_FOR_SCALING) {
            loader.scaleX = loader.scaleY = .2;
        }
    }
    

    【讨论】:

    • 我收到Error #2099: The loading object is not sufficiently loaded to provide this information.
    • 我的错误。我一般不使用Loader 的图像(我一般使用Flex)。改为收听loader.contentLoaderInfo.addEventListener(Event.INIT, handler)
    • 我已经用我所拥有的更新了原始帖子。我收到Error #1069: Property data not found on flash.display.LoaderInfo and there is no default value.
    猜你喜欢
    • 1970-01-01
    • 2012-07-09
    • 1970-01-01
    • 1970-01-01
    • 2019-10-13
    • 1970-01-01
    • 2018-07-17
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多