如何在Android中压缩下载的图像并在需要时解压缩?

Posted

技术标签:

【中文标题】如何在Android中压缩下载的图像并在需要时解压缩?【英文标题】:How to compress downloaded images and decompress when needed in Android? 【发布时间】:2020-06-16 12:42:49 【问题描述】:

如何压缩可以存储在内存中的 jpg/bmp 文件,然后在需要时解压缩这些图像并显示给用户,而不会损失太多图像质量?如何进行压缩和解压缩,任何指导/链接都会有所帮助。 谢谢你

【问题讨论】:

【参考方案1】:

创建图像缩略图

'byte[] imageData = null;

    try     
    

        final int THUMBNAIL_SIZE = 64;

        FileInputStream fis = new FileInputStream(fileName);
        Bitmap imageBitmap = BitmapFactory.decodeStream(fis);

        imageBitmap = Bitmap.createScaledBitmap(imageBitmap, THUMBNAIL_SIZE, THUMBNAIL_SIZE, false);

        ByteArrayOutputStream baos = new ByteArrayOutputStream();  
        imageBitmap.compress(Bitmap.CompressFormat.JPEG, 100, baos);
        imageData = baos.toByteArray();

    
    catch(Exception ex) 

    `

【讨论】:

感谢@Amit pandey【参考方案2】:

如果你需要 thumbNail 然后使用 ThumbNailUtils.extractThumbnail(位图来源,int width,int height) 它显示位图的缩略图,当你想显示原始位图时显示位图 . 明智地使用位图对象会导致它在运行时占用更多内存。

【讨论】:

嘿thanx @ankitsinh corepix 寻求缩略图方面的帮助,但是在使用位图时是否有任何压缩和解压缩以减少占用空间? 是的,您可以在 android 文档中看到或在下面的链接中看到它用于压缩 developer.android.com/topic/performance/graphics/… 用于解压缩您必须使用位图 uri,如果您喜欢则直接加载位图,然后点赞回答。

以上是关于如何在Android中压缩下载的图像并在需要时解压缩?的主要内容,如果未能解决你的问题,请参考以下文章

如何在 Java 中压缩 JSON 并在 Javascript 中解压缩 [关闭]

如何在android中压缩对齐APK文件?

我如何在 React js 中压缩任何图像以及 Excel 和 CSV 文件

如何在Mac中压缩文件

如何在 django python 中压缩上传的图像

如何在Android中压缩两个Observable?