【问题标题】:Generated bitmap using bytes size is vary from Original?使用字节大小生成的位图与原始位图不同?
【发布时间】:2012-07-10 20:09:32
【问题描述】:

将位图转换为字节后再次生成位图,但位图的大小与原始位图不同。为什么?

原始位图宽度:284 高度:139

位图样本大小因子:2

转换后的图像宽度:142 高度:69

使用以下代码进行转换:

 BitmapFactory.Options bitmapOptions = new BitmapFactory.Options();
        bitmapOptions.inSampleSize = powerOf2;
        bitmapOptions.inPurgeable = true;
        bitmapOptions.inInputShareable = true;
bmp = BitmapFactory.decodeByteArray(imgRawBytes, 0, imgRawBytes.length,
                        bitmapOptions);

【问题讨论】:

    标签: android bitmap byte


    【解决方案1】:

    这是预期的行为,因为您正在设置 bitmapOptions.inSampleSize = 2。事实上,正如文档中明确指出的那样,如果inSampeSize > 1,解码器将对原始图像进行二次采样。

    来自doc

    如果设置为大于 1 的值,则请求解码器对原始图像进行二次采样 图像,返回较小的图像以节省内存。样本量为 任一维度中对应于单个维度的像素数 解码位图中的像素。例如, inSampleSize == 4 返回一个 图像的宽度/高度为原件的 1/4,原件的 1/16 像素数。任何值

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2021-09-22
      • 1970-01-01
      • 1970-01-01
      • 2014-07-28
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多