我正致力于使用填充算法填充位图部分颜色的颜色填充应用。
当我使用带有背景的位图时,它可以正常工作,但是当我使用透明背面的位图时,它会在整个背景上填充颜色。我不知道如何解决它。
这是返回可绘制转换位图的块 -
private Bitmap getBitmap(){
BitmapFactory.Options options = new BitmapFactory.Options();
options.inPreferredConfig = Bitmap.Config.ARGB_8888;
imageBitmap = BitmapFactory.decodeResource(getResources(),
R.drawable.image2,options);
return imageBitmap;
}
下面的是我的onTouch事件代码,我通过了运行泛洪填充 -
case MotionEvent.ACTION_DOWN:
pixelColor = canvasBitmap.getPixel((int)touchX,(int)touchY);
System.out.println("touch color" + pixelColor);
Point p = new Point((int)touchX,(int)touchY);
if(!targetColorSet.contains(pixelColor)) {
floodFillTask = new FloodFillTask(canvasBitmap, p,
paintColor, targetColor);
floodFillTask.execute();
}
break;
我使用Queue Linear Flood填充来填充。