Actionscript 3.0 проблемы с масштабированием изображения - PullRequest
0 голосов
/ 24 августа 2009

В настоящее время я создаю приложение 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;

Любая помощь будет отличной.

Спасибо Justin

Ответы [ 2 ]

2 голосов
/ 24 августа 2009

Я не уверен, что вы пытаетесь сделать с этой второй строкой, но попробуйте с этим:

headToLoad.width = headWidth;
headToLoad.scaleY = headToLoad.scaleX;
1 голос
/ 24 августа 2009

Функция делает то, что должна делать. Если вы хотите что-то, что ограничит размер загруженного изображения до максимальной ширины и высоты, поддерживая соотношение, вы можете использовать что-то вроде этого.

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;
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...