从位图Android和切口(删除)形状(Android & cut (remove) shape f

2019-07-30 18:20发布

你怎么切(删除)从位图的一部分??? 我想,要去除部分/形状..代替部分的假透明..说形状色格拉或方形..

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