2012-03-29 3 views
1

나는 간단한 것을 실현하고 싶습니다.하지만 생각하지 않았습니다. 나는 이미지를 그려보고 싶다. 나는 S를 확장하는 새로운 구성 요소 DrawingImg 작성했습니다 : 이미지를flex 이미지를 어떻게 그려야합니까?

public class DrawingImg extends Image 

{ 
    private var isDrawing:Boolean = false; 
    private var x1:int; 
    private var y1:int; 
    private var x2:int; 
    private var y2:int; 

    public var drawColor:uint = 0x000000; 

    public function DrawingImg() 
    { 
     super(); 

     addEventListener(FlexEvent.CREATION_COMPLETE, function(event:FlexEvent):void { 
      erase(); 
     }); 

     addEventListener(MouseEvent.MOUSE_DOWN, function(event:MouseEvent):void { 
      x1 = mouseX; 
      y1 = mouseY; 
      isDrawing = true; 
     }); 

     addEventListener(MouseEvent.MOUSE_MOVE, function(event:MouseEvent):void { 
      if (!event.buttonDown){ 
       isDrawing = false; 
      } 
      x2 = mouseX; 
      y2 = mouseY; 
      if (isDrawing){ 
       graphics.lineStyle(2, drawColor); 
       graphics.moveTo(x1, y1); 
       graphics.lineTo(x2, y2); 
       x1 = x2; 
       y1 = y2; 
      } 
     }); 

     addEventListener(MouseEvent.MOUSE_UP, function(event:MouseEvent):void { 
      isDrawing = false; 
     }); 
    } 

    public function erase():void { 
     graphics.beginFill(0xffffff, 0.00001); 
     graphics.drawRect(0, 0, width, height); 
     graphics.endFill(); 
    } 
} 
} 

여기 내보기입니다 :

<s:View xmlns:fx="http://ns.adobe.com/mxml/2009" 
xmlns:s="library://ns.adobe.com/flex/spark" title="GiftCertificateView" 
actionBarVisible="false" xmlns:local="*"> 
<local:DrawingImg source="/assets/dessin.png" width="100%" height="100%"/> 
</s:View> 

그것은 내 마우스가 이미지를 벗어나면, 내가 할 수있는 일을 "근처"입니다 내 선을 그 으라. 그러나 내가 이미지 위에있을 때 아무 것도 나타나지 않는다. 아무도 아이디어가 있습니까?

답변

0

문제는 그래픽 API로 스파크 이미지를 그릴 수 없다는 것입니다. 나는 근원을 최근에 보지 않았고, 그래서 나는 당신에게 정확하게 이유를 말할 수 없다.

<s:View xmlns:fx="http://ns.adobe.com/mxml/2009"xmlns:s="library://ns.adobe.com/flex/spark" title="GiftCertificateView" actionBarVisible="false" xmlns:local="*"> 
    <s:Image source="@Embed('Grand Prismatic Spring.jpg')" width="100%" height="100%" /> 
    <local:DrawingImg width="100%" height="100%"/> 
</s:View> 
+0

덕분에 많은 : 이제보기 이미지 위에 드로잉 구성 요소를 레이어

public class DrawingImage extends UIComponent 

: UIComponent 대신 Image

빠른 해결 방법은 DrawingImg 클래스를 확장 할 수 있도록하는 것입니다 . 그것은 작동합니다. 또한 "그룹"을 확장하는 클래스를 사용해 보았습니다. – user1300025

관련 문제