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>
그것은 내 마우스가 이미지를 벗어나면, 내가 할 수있는 일을 "근처"입니다 내 선을 그 으라. 그러나 내가 이미지 위에있을 때 아무 것도 나타나지 않는다. 아무도 아이디어가 있습니까?
덕분에 많은 : 이제보기 이미지 위에 드로잉 구성 요소를 레이어
:
UIComponent
대신Image
의빠른 해결 방법은
DrawingImg
클래스를 확장 할 수 있도록하는 것입니다 . 그것은 작동합니다. 또한 "그룹"을 확장하는 클래스를 사용해 보았습니다. – user1300025