2009-08-24 5 views
0

현재 사용자가 컨테이너에 이미지를로드하고 이미지를 이동하고 크기를 조정하고 DB에 출력 할 수있는 Flash AS 3.0 응용 프로그램을 작성 중입니다. 사용자가 이미지를 업로드하고 크기를 조정하면 앨범 뷰어로 이동하여 사진을 DB에서 가져 와서 머리에 넣습니다. 내가 겪고있는 문제는 일단 이미지가 뷰어에 들어가면 스케일링과 포지 티닝이 올바르게 작동하지 않는다는 것입니다. 이미지의 크기는 커지지 만 원본 크기에서 축소 할 수는 없습니다.Actionscript 3.0 이미지 스케일링 문제

나는 뷰어에서 이미지를 확장하려면 다음 코드를 사용하고 있습니다 :

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

모든 지원이 좋은 것입니다.

감사 저스틴

답변

2

나는 당신이 2 선으로 뭘 하려는지 모르겠지만, 이것으로 시도 :

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

나는 변수를 변경하고 높이를 변수로 보내고 있지만 여전히 동일한 결과를 제공하지는 않습니다. 영화의 전체 크기가 문제일까요? –

+0

죄송합니다. 귀하의 의견을 이해할 수 없습니다. S – Cay

+0

현재 작동 중입니다. 데이터로드가 완료되기 전에 크기가 조정되는 것과 관련된 문제였습니다. 이미지가 왜곡됩니다. –

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; 
}