Actionscript 3.0图像缩放问题

时间:2009-08-24 14:09:49

标签: database flash actionscript-3

我目前正在构建一个Flash AS 3.0应用程序,它允许用户将图像加载到容器中,移动并缩放它们并将输出扩展到数据库。一旦用户上传并缩放了图像,他们就会被引导到相册查看器,该查看器将照片从数据库中取出并将它们放入头中。我遇到的问题是,一旦图像进入查看器,缩放和位置就无法正常工作。图像将扩大,但我无法从原始大小缩小它们。

我使用以下代码缩放查看器中的图像:

headToLoad.width = headWidth;
        headToLoad.scaleY > headToLoad.scaleX ? headToLoad.scaleX = headToLoad.scaleY : headToLoad.scaleY = headToLoad.scaleX;
        headToLoad.x = xPosition;
        headToLoad.y = yPosition;

任何帮助都会很棒。

由于 贾斯汀

2 个答案:

答案 0 :(得分:2)

我不确定你要用第二行做什么,但试试这个:

headToLoad.width = headWidth;
headToLoad.scaleY = headToLoad.scaleX;

答案 1 :(得分:1)

该功能可以完成它应该做的事情。 如果你想要一个能够将加载图像的大小限制到最大宽度和高度的东西,保持比例,你可以使用这样的东西。

import flash.display.*;
import flash.net.URLRequest;
import flash.events.Event;

var maxWidth = 200;
var maxHeight = 300;

var headToLoad:Loader = new Loader();
headToLoad.contentLoaderInfo.addEventListener(Event.COMPLETE, onLoadCompleted);
addChild(headToLoad);
headToLoad.load(new URLRequest("picture.jpg"));

function onLoadCompleted(evt:Event) {
    var head = evt.target.loader; // or evt.target.content
    head.width = maxWidth;
    head.scaleY = head.scaleX;
    if (head.height > maxHeight) {
        head.height = maxHeight;
        head.scaleX = head.scaleY;
    }

    head.x = 100;
    head.y = 100;
}