Android的&放大器;切取位图(删除)形状 [英] Android & cut (remove) shape from bitmap

查看:1258
本文介绍了Android的&放大器;切取位图(删除)形状的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

你怎么切(删除)从位图的一部分??? 我想那款/形状被删除..留下透明代替节.. 说造型色格拉或正方形。

How do you cut (remove) a section from a bitmap??? I want that section/shape to be removed.. leave transparent in place of section.. Say shape is cercle or square..

推荐答案

<打击>你应该能够做到这一点的,波特 - 达夫彩色滤光片和一个画布

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);
}

嗯,这是错误的。然而,使用波特 - 达夫传输模式不工作:

Well, that was wrong. However, using a Porter-Duff transfer mode does work:

public void punchHole(Bitmap bitmap, float cx, float cy, float radius) {
    Canvas c = new Canvas(bitmap);
    Paint paint = new Paint();
    paint.setXferMode(new PorterDuffXferMode(PorterDuff.Mode.CLEAR));
    c.drawCircle(cx, cy, radius, paint);
}

(通过为ARG位图需要被修改的,当然。)

(The bitmap passed as an arg needs to be modifiable, of course.)

这篇关于Android的&放大器;切取位图(删除)形状的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆