【问题标题】:BItmap:out of memory error. how to get the original image size after compressing it in android位图:内存不足错误。在android中压缩后如何获取原始图像大小
【发布时间】:2011-01-04 08:34:46
【问题描述】:

我在位图上手动绘制了图像。但它显示内存不足错误。 我,然后缩小了图像的大小,这显示了图像的压缩形式。 我需要显示图像的原始大小,然后显示内存不足错误。请帮助我解决问题。 我也附上了部分代码。

ImageView iv1 = new ImageView(mcontext);

BitmapFactory.Options 选项 = 新 BitmapFactory.Options();
options.inSampleSize = 2;

BitmapFactory.decodeFile(pageViewManager.getPenToolPath() + pageViewManager.getCurrentPageIndex() + ".jpg");

bmp = BitmapFactory.decodeFile(pageViewManager.getPenToolPath() + pageViewManager.getCurrentPageIndex() + ".jpg", options);

iv1.setImageBitmap(bmp);

【问题讨论】:

    标签: android


    【解决方案1】:

    一张未压缩的图片占用的内存空间很容易计算:像素数*色深,像素数本身就是高*宽。例如,对于 1000*800 的 24 位(3 字节)图像,内存大小为:

    1000*800*3=2400000 字节或 2,4 Mb

    【讨论】:

    • 不,我不需要计算内存大小..但是我想显示我在位图上绘制的原始图像而不需要压缩它。
    • 我真的不确定我是否理解你的问题。你的 OutOfMemoryError 究竟是什么时候发生的?
    • 当我设置 options.inSampleSize = 1 时,它显示内存不足错误,应该显示图像的原始大小。我通过设置 options.inSampleSize = 2 压缩了图像。但是,我需要读取原始图像。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-09-01
    • 2015-11-15
    • 1970-01-01
    • 2018-10-15
    • 2023-03-15
    相关资源
    最近更新 更多