【发布时间】:2012-06-01 11:52:31
【问题描述】:
我在克隆 BitmapDrawable 时遇到问题。我在this post 中尝试了答案,但它创建了一个“浅”副本,我需要一个“深”副本,这样我就可以在不影响原件的情况下更改克隆中的像素。
我也试过这个:
Bitmap bitmap = bdOriginal.getBitmap();
BitmapDrawable bdClone = new BitmapDrawable(getResources(), bitmap.copy(bitmap.getConfig(), true));
但它似乎创建了一个不可变的克隆,即使我将 Bitmap.copy() 中的可变参数设置为“true”。也就是说,滤色器似乎不会改变克隆。我做错了吗? (编辑:我使用调试器确认 bitmap.mIsMutable = true)
总而言之,我需要一个 BitmapDrawable 的克隆,它可以使用颜色过滤器进行更改,而不会影响原件。有什么建议吗?
提前谢谢...
【问题讨论】:
-
试试drawable方法
mutable(). -
谢谢,但是 BitmapDrawable 仍然不受颜色过滤器的影响。 :( 我知道过滤器正在工作,因为它适用于原始位图和浅拷贝。
标签: android