Android的油画 - 画一个洞(Android canvas - Draw a hole)

2019-08-19 22:28发布

是否有可能实现在Android中下面的图片用帆布?

我想有一个洞,不仅在红层是黄色某个圈子。 我想这(和失败的),在我下面的代码onDraw() -方法:

canvas.drawBitmap(yellow, 0, 0, paint);
canvas.drawBitmap(red, 0, 200, paint);
Paint p = new Paint();
p.setXfermode(new PorterDuffXfermode(PorterDuff.Mode.CLEAR));
canvas.drawCircle(300, 300, radius, p);

但是,当我使用此代码,这使得通过两个位图的一个洞。 最后,这个应用程序应该是一个球,孔和其他的东西一个迷宫。 当球会陷入一个洞,应该出现在红位图的下方。 是否有可能实现吗?

回答:

如果有人应该有同样的问题:使用视图 ,而不是SurfaceView。 这是我的错,因为SurfaceView的BG无法设置透明。

Answer 1:

我想你误会了如何在画布/位图的工作。 有没有存储层或对象(除非你存储它们)。 这只是一个由显示的图像的像素表示像素。 在红场黄色圆圈你在上面的图片中显示的内容。

如果你真的想红色层,你必须综合两个位图。 绘制在红色正方形孔在一个位图,在一个位图绘制黄色层。 在画布上绘制黄色位图,那么“红方用一个洞”在上面的位图。



文章来源: Android canvas - Draw a hole