2012-03-29 12 views
1

私は単純なものを実現したいと思いますが、そうではありません。私はイメージを描きたい。私はSを拡張する新しいコンポーネントDrawingImgを作成しました:画像フレックスイメージを描画する方法

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でSpark Imageを描画できないという問題です。私は最近、ソースを見ていないので、正確になぜそれを伝えることはできません。

<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

関連する問題