Android系统。如何让ImageView将自己绘制为PNG?

时间:2015-06-14 12:30:51

标签: android canvas bitmap imageview resolution

ImageView已加载了一张67KB的1514×564 PNG图像。

需要将包含此类ImageView的多个视图的LinearLayout绘制到画布中。 调用ImageView.draw(Canvas)方法时,画布大小(以字节为单位)从67KB增加到13MB! (因为“draw”绘制位图,而不是压缩的PNG)

是否有一种简单的方法可以让imageView将自己绘制为PNG?

到目前为止,我已经考虑过扩展ImageView并使用在绘制之前压缩位图的内容覆盖draw方法。

1 个答案:

答案 0 :(得分:0)

  

是否有一种简单的方法可以让imageView将自己绘制为PNG?

不,因为没有这样的概念。而且,你已经有了PNG,所以不清楚你为什么要首先调用draw()`。如果你想要一个PNG,请使用你的PNG。

  

到目前为止,我已经考虑过扩展ImageView并使用在绘制之前压缩位图的内容覆盖draw方法。

那将毫无意义,因为您需要在绘制之前重新解压缩图像。 Canvas绘制Bitmap,而不是PNG,Bitmap是解压缩的图片。