Majialiang131 2025-05-27 11:12 采纳率: 0%
浏览 9

Android 如何将JPG图像压缩

Android 如何将串口摄像头抓拍到的JPG格式的byte数组图形进行压缩。原始图像95KB,经过 Bitmap originalBitmap = BitmapFactory.decodeByteArray(byte,0,byte.length);ByteArrayOutputStream outputStream = new ByteArrayOutputStream();originalBitmap.compress(Bitmap.CompressFormat.JPEG, 50, outputStream);byte[] resultByte = outputStream.toByteArray();处理后,resultByte大小为130多KB。现在想将95KB的原图像在不改变尺寸的情况下压缩到60KB以内。

  • 写回答

5条回答 默认 最新

  • 阿里嘎多学长 2025-05-27 11:12
    关注

    阿里嘎多学长整理AIGC生成,因移动端显示问题导致当前答案未能完全显示,请使用PC端查看更加详细的解答过程

    Android JPG图像压缩

    你想将串口摄像头抓拍到的JPG格式的byte数组图形进行压缩。原始图像95KB,使用 BitmapFactory.decodeByteArray 方法将byte数组解码成Bitmap对象。

    可以使用 Bitmap.compress 方法将Bitmap对象压缩成JPG格式的byte数组。下面是一个示例代码:

    Bitmap originalBitmap = BitmapFactory.decodeByteArray(byteArray, 0, byteArray.length);
    Bitmap compressedBitmap = Bitmap.createScaledBitmap(originalBitmap, originalBitmap.getWidth() / 2, originalBitmap.getHeight() / 2, true);
    ByteArrayOutputStream bos = new ByteArrayOutputStream();
    compressedBitmap.compress(Bitmap.CompressFormat.JPEG, 50, bos);
    byte[] compressedBytes = bos.toByteArray();
    

    在上面的代码中,我们首先将byte数组解码成Bitmap对象,然后将Bitmap对象缩小一半的大小,以减少图像的大小。接着,我们使用 ByteArrayOutputStream 对象将Bitmap对象压缩成JPG格式的byte数组,并将压缩率设置为50%。

    压缩率可以根据需要进行调整,值越小,图像的质量越低,但图像的大小越小。

    评论

报告相同问题?

问题事件

  • 创建了问题 5月27日