Android绘制透明度

Android绘制透明度,android,graphics,transparency,Android,Graphics,Transparency,我对Android(以及Java)是新手,我正在制作一个简单的游戏。我卡住了 我的问题是: 我有2个png图像(背景和前景),在启动时占据整个屏幕。我现在希望能够将前景的“绘制部分”的宽度设置为拖动时的x坐标。我的控制方法很好;它是这样使用的: g、 drawRect(0,0,scene.getLine(),g.getHeight(),Color.GREEN) 其中,scene.getLine()返回触摸的x值。所以在这一点上,我可以在我的图像上面画一个绿色的矩形。但我真正想要的是那些矩形尺寸在

我对Android(以及Java)是新手,我正在制作一个简单的游戏。我卡住了

我的问题是:

我有2个png图像(背景和前景),在启动时占据整个屏幕。我现在希望能够将前景的“绘制部分”的宽度设置为拖动时的x坐标。我的控制方法很好;它是这样使用的:

g、 drawRect(0,0,scene.getLine(),g.getHeight(),Color.GREEN)

其中,scene.getLine()返回触摸的x值。所以在这一点上,我可以在我的图像上面画一个绿色的矩形。但我真正想要的是那些矩形尺寸在我的顶层png中“打孔”(因此背景显示在下面)。我不想缩放前景

我试过clipRect,但它不起作用,因为我有其他的图像需要在这两个上面绘制,clipRect阻止了这一点。我看过一堆“PorterDuffXfermode”代码,但不明白如何将其应用于我的情况,也无法使其工作。i、 我可以用PorterDuff“SRC”模式集制作一幅绘画,但我不知道如何定义“源”和“目标”图像,这样绘画才能发挥它的魔力。最后要考虑的是,即使PorterDuff可以工作,我也不确定它是否实用,因为我希望它以60fps的速度运行

有什么建议吗


谢谢。

您可以在剪辑前调用
canvas.save()
,在绘图后调用
canvas.restore()
,将画布恢复到启动前的状态。然后,您可以绘制其他图像