如何在Flex中实现橡皮擦,以便在mx:Image上擦除时,它会使区域透明?
答案 0 :(得分:2)
protected function myImage_completeHandler(event:Event):void
{
// TODO Auto-generated method stub
trace("file loaded");
var tempBdData:BitmapData = new BitmapData(myImage.contentWidth,myImage.contentHeight,true);
tempBdData.draw(myImage);
(myImage.content as Bitmap).bitmapData = tempBdData;
}
]]>
</mx:Script>
<mx:Image
id="myImage"
source="http://www.google.com/images/logos/ps_logo2.png"
complete="myImage_completeHandler(event)"
mouseDown="(myImage.content as Bitmap).bitmapData.setPixel32(event.localX,event.localY,0x00000000)"/>
答案 1 :(得分:1)
也许您可以尝试在BitmapData对象中绘制图像,然后使用函数setPixel32:
示例:
setPixel32 (coordX, coordY, 0x60FF0000);
其中0x60FF0000是:
答案 2 :(得分:1)
从我见过的大多数擦除功能来看,不是很多我会承认的,它不会变成透明的东西,(改变alpha),而是用背景颜色绘制。
YMMV
答案 3 :(得分:0)
我的方法是将黑色蒙版图像添加到图像组件(通过“蒙版”属性),这对图像最初没有影响,然后在用户单击/拖动的任何地方将白色涂成蒙版图像在图像内。希望有所帮助。