你怎么切(删除)从位图的一部分??? 我想,要去除部分/形状..代替部分的假透明..说形状色格拉或方形..
Answer 1:
你应该能够用波特-达夫彩色滤光片和一个做 Canvas
:
public void punchHole(Bitmap bitmap, float cx, float cy, float radius) {
Canvas c = new Canvas(bitmap);
Paint paint = new Paint();
paint.setColorFilter(new PorderDuffColorFilter(0, PorderDuff.Mode.CLEAR));
c.drawCircle(cx, cy, radius, paint);
}
嗯,这是错误的。 然而,使用波特 - 达夫传输模式不工作:
public void punchHole(Bitmap bitmap, float cx, float cy, float radius) {
Canvas canvas = new Canvas(bitmap);
Paint paint = new Paint();
paint.setXfermode(new PorterDuffXfermode(PorterDuff.Mode.CLEAR));
canvas.drawCircle(cx, cy, radius, paint);
}
(作为传递ARG位图需要是可修改的,当然。)
Answer 2:
使用Bitmap.setPixel(X,Y,彩色)函数来设置到透明的希望的像素
例如:
Bitmap bmp = ...;
bmp.setPixel (100,100,Color.TRANSPARENT);
在x上的象素/ y偏移100100。 虽然你会发现这个潜在的慢做到这一点许多像素...
Answer 3:
你尝试画一个圆圈,透明色,ARGB = 0,0,0,0?
文章来源: Android & cut (remove) shape from bitmap