如何加载图像并立即调整大小以便以后使用

时间:2011-09-01 08:20:19

标签: android

我正在开发一个用于图像处理的应用程序。 我使用BitmapFactory.decodeStream来加载图像,当我按下按钮将图像传递给setPixel时,它会导致OutOfMemoryError。 我尝试过较小的图像是可以的。

无论如何加载一个大图像并立即将其保存在较小尺寸的Bitmap中?

1 个答案:

答案 0 :(得分:2)

使用BitmapFactory.Options.inSampleSize解码较小的位图。

  

public int inSampleSize

     

自:API Level 1

     

如果设置为值> 1,请求解码器对原始进行二次采样   图像,返回较小的图像以节省内存。样本量是   任一维度中对应于单个像素的像素数   解码后的位图中的像素。例如,inSampleSize == 4返回一个   图像是原稿宽度/高度的1/4,和1/16   像素数。任何值< = 1都被视为1.注意:   解码器将尝试满足此请求,但生成的位图可能会   具有不同的尺寸,正是所要求的。   此外,2的幂通常更快/更容易让解码器兑现。