是否有任何算法在位图中执行擦除操作?我想创建类似于photoshop或其他图形应用程序执行擦除的功能。擦除操作是如此困难,以至于没有太多帮助(对于位图)?我甚至可以使用算法的名称,我可以从那里开始。
答案 0 :(得分:5)
你可以在这里找到一个非常好的解决方案:
http://www.piterwilson.com/personal/2008/05/07/bitmapdata-erasing-in-as3-with-custom-brush-shape/
答案 1 :(得分:0)
如果要使用矩形橡皮擦擦除,可以尝试访问bitmapData并获取一些像素。然后,您可以将其alpha更改为0,如下面的代码所示。
var myBitmap:Bitmap = //YourBitmap;
var myBitmapData:BitmapData = myBitmap.bitmapData;
var myEraser:Rectangle = new Rectangle(0, 0, 20, 20);//Or some other values, depending on the x, y, width and height of your eraser.
for(var i:uint = 0; i < myEraser.width; i++)
{
for(var j:uint = 0; j < myEraser.height; j++)
{
myBitmapData.setPixel32(i + myEraser.x, j + myEraser.y, 0x00000000);
}
}