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%。压缩率可以根据需要进行调整,值越小,图像的质量越低,但图像的大小越小。
解决 无用评论 打赏 举报