我们可以更新画布的一部分而不更新整个画布吗?

时间:2012-11-19 11:39:22

标签: android image android-canvas

我正在扩展ImageView以显示图像。图像的输入流来自套接字及其左上角坐标。

我可以显示图像的一部分,其余的屏幕是白色的。我的问题是用当前位图覆盖了总画布,之前的图纸用白色屏幕擦除。

我搜索了解决方案,我发现有关画布的信息是“当canvas.drawBitmap(位图,顶部,左边,绘制)被称为”时,绘制画布的每个像素。“

我需要在不更新整个画布的情况下更新图像(画布)的唯一脏部分。

请建议我如何更新屏幕(画布)的脏部分,不应删除以前的图纸。

谢谢&此致

赠送。

1 个答案:

答案 0 :(得分:-1)

您可以使用已有的画布制作画布,而不是在其上创建空白,然后在其上绘制。这是如何实现它的一个例子。

yourImageView.setDrawingCacheEnabled(true);
Bitmap bm = yourImageView.getDrawingCache();
final Canvas canvas = new Canvas(bm);

然后你有一个画布,其中包含以前在ImageView中的任何内容,你可以更新你想要的任何部分。为此,我建议您查看PorterDuff modes

相关问题