2011-06-10 58 views
0

是否有任何算法在位圖中執行擦除操作?我想創建類似於photoshop或其他圖形應用程序執行擦除的功能。擦除操作如此困難以至於沒有太多的幫助(對於位圖)可用?即使使用算法名稱,我也可以,我可以從那裏繼續。使用AS3執行擦除算法

回答

0

如果你想用一個長方形的橡皮擦擦除,你可以嘗試訪問該位圖數據,並得到一些像素。然後,您可以將它們的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); 
    } 
}