2011-02-16 28 views
2

我試過這種方式,但它沒有在圖像上繪製。只有當我試圖在正確的邊界(在圖像之外)上繪製它時才起作用。用鼠標在已加載的圖像上繪圖

private var oldX:Number, oldY:Number; 
private var mode:String = "modeBrush"; 
    private function onMouseDown(e:MouseEvent):void { 
    oldX = e.localX; 
    ldY = e.localY; 
    } 
    private function onMouseMove(e:MouseEvent):void { 
     if (e.buttonDown) { 
     var g:Graphics = currImg.graphics; 
     var mx:Number = e.localX; 
     var my:Number = e.localY;   
      g.lineStyle(10, 0xFFFF00); 
     g.moveTo(oldX, oldY); 
     g.lineTo(mx, my); 
    } 
     oldX = mx; 
    oldY = my; 
} 
//image i'am loading at runtime by button click 

<s:BorderContainer id="everything" borderStyle="solid" width="900" height="600"> 
     <s:Scroller left="2" right="2" top="2" bottom="2"> 
      <s:Group id="group"> 
     <mx:Image id="currImg" mouseMove="onMouseMove(event)" mouseDown="onMouseDown(event)"/> 
      </s:Group> 
     </s:Scroller>  
    </s:BorderContainer> 

UPDATE 如果我做這樣的,一切都很正常!

var line:UIComponent = new UIComponent(); 
    line.graphics.lineStyle(2, 0x990000, .75); 
    line.graphics.beginFill(0x000000); 
    line.graphics.moveTo(oldX, oldY); 
    line.graphics.lineTo(mx, my); 
    currImg.addChild(line); 

回答

相關問題