2009-01-23 4 views
1

나는 Flash 응용 프로그램에 런타임에로드 한 비트 맵 이미지에 반사 효과 (유명한 iPhone UI에서 널리 알려짐)를 만들고 적용하는 간단하고 깨끗하며 메모리 효율적인 방법을 찾고 있습니다. . 소스 이미지는 다양한 유형 (JPG, PNG 등)이지만 가능한 솔루션은 각 이미지가 이미로드되어 BitmapData로 저장되어 있다고 가정 할 수 있습니다.Flex에서 비트 맵 이미지를 사용하여 반사 효과를 만들려면 어떻게해야합니까?

BitmapData의 일부보기에는 반사 효과를 적용 할 수 있지만 원하는 경우 반사 효과를 적용 할 수는 있지만 모든보기에 반사 효과가 필요하지는 않으므로 원본 BitmapData는 그대로 유지하십시오. 통찰력은 크게 감사합니다! 미리 감사드립니다.

답변

1

아마 쉬운 방법,하지만 난 그냥 반전 이미지의 두 번째 사본을 표시 말하고 싶지만 아무 렇게하고 투명하게 :

<mx:Application xmlns:mx="http://www.adobe.com/2006/mxml" layout="absolute" 
    creationComplete="onCC()"> 
    <mx:Script> 
     <![CDATA[ 
      private function onCC():void { 
       var m:Matrix = new Matrix(1,0,0,-1,flipImage.transform.matrix.tx, flipImage.transform.matrix.ty + flipImage.height); 
       flipImage.transform.matrix = m; 
       flipImage.alpha = 0.3; 
      } 
     ]]> 
    </mx:Script> 
    <mx:VBox verticalGap="0"> 
     <mx:Image source="http://stackoverflow.com/Content/Img/stackoverflow-logo-250.png"> 

     </mx:Image> 
     <mx:Image id="flipImage" source="http://stackoverflow.com/Content/Img/stackoverflow-logo-250.png"> 

     </mx:Image> 
    </mx:VBox> 
</mx:Application> 
0

당신은 항상 사용할 수 있습니다 scaleX가 = -1;

이렇게하면 이미지가 가로로 뒤집 힙니다. 하지만 왼쪽면을 액슬로 사용하여 뒤집기 때문에 이미지의 x 위치를 image.x = image.x + image.widht로 조정해야합니다.

관련 문제