如何清理或刷新 ImageView 位图画布?

Posted

技术标签:

【中文标题】如何清理或刷新 ImageView 位图画布?【英文标题】:How to clean or refresh ImageView bitMap canvas? 【发布时间】:2012-02-15 04:52:47 【问题描述】:

源代码:

//The drawing of the circle on the canvas
imageView = new ImageView(this);
bitmap = Bitmap.createBitmap(200 ,200 , Bitmap.Config.ARGB_8888);
imageView.setBackgroundDrawable(new BitmapDrawable(bitmap));
Canvas canvas = new Canvas (bitmap);
canvas.drawCircle (50 , 50 , 20 , paint );

.....

现在我想刷新或清理画布

我该怎么做?

【问题讨论】:

canvas = new Canvas(bitmap); 不起作用吗? 嗨 Slayton,我尝试编写像 MS Paint 这样的交互式应用程序。我有这个想法,但也许有更简单的方法来刷新画布? 您好,Slayton,当我想到您的建议时,这是一个好而简单的想法。如果您希望我将其标记为已接受的答案,请写下您的评论作为答案。谢谢! 也许我没有得到任何东西......在画布上绘制白色矩形不会起到作用吗?抱歉,如果我的评论完全无关紧要。 嗨,Ash,我认为它会起作用。我什至没有朝这个方向发展。也许它的位图大小有问题。例如,我认为具有 20 个小圆圈和 1 个大矩形的位图比只有 1 个小圆圈的位图(在创建新画布之后)具有更大的字节大小。但我没有尝试测试它。 【参考方案1】:

为什么不干脆做:

canvas = new Canvas(bitmap);

【讨论】:

当我现在测试它时,我发现我仍然有以前画布的图像。所以我没有帆布清洁。我的想法是为imageView创建其他背景,回收并创建新的位图并再次将其设置为背景。

以上是关于如何清理或刷新 ImageView 位图画布?的主要内容,如果未能解决你的问题,请参考以下文章

在将python turtle canvas转换为位图时如何保持画布大小

画布绘制位图?

在画布上绘制位图已缩放

布局中间的画布,即 ImageView Android?

如何在不使用 ImageView 的情况下从 API 端点下载图像或位图?

SeekBar:从 Drawable 获取空位图,直到将其设置为 ImageView 或如何从 9patch 获取结果位图