如何清理或刷新 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 的情况下从 API 端点下载图像或位图?
SeekBar:从 Drawable 获取空位图,直到将其设置为 ImageView 或如何从 9patch 获取结果位图