我无法克隆BitmapDrawable。我在this post中尝试了答案,但它创建了一个“浅”副本,我需要一个“深度”副本,这样我就可以改变克隆中的像素而不会影响原始像素。
我也试过这个:
Bitmap bitmap = bdOriginal.getBitmap();
BitmapDrawable bdClone = new BitmapDrawable(getResources(), bitmap.copy(bitmap.getConfig(), true));
但是它似乎创建了一个不可变的克隆,即使我将Bitmap.copy()中的可变参数设置为“true”。也就是说,滤色器似乎不会改变克隆。我做错了吗? (编辑:我使用调试器确认bitmap.mIsMutable = true)
总而言之,我需要一个BitmapDrawable的克隆,可以使用颜色过滤器进行更改,而不会影响原始颜色。有什么建议吗?
提前致谢...
答案 0 :(得分:1)
Bitmap
。Bitmap
Bitmap
绘制到此画布中。示例:
Bitmap copy = Bitmap.createBitmap(original.getWidth(), original.getHeight(), original.getConfig());
Canvas copiedCanvas = new Canvas(copy);
copiedCanvas.drawBitmap(original, 0f, 0f, null);