android压缩图片到指定大小

编程入门 行业动态 更新时间:2024-10-28 01:26:23

android压缩图片到指定<a href=https://www.elefans.com/category/jswz/34/1771016.html style=大小"/>

android压缩图片到指定大小

fun compressImage(imageFile: File, maxSize: Long, quality: Int): File? {try {// 1. 将图像文件解码为Bitmap对象val options = BitmapFactory.Options()options.inJustDecodeBounds = falseoptions.inPreferredConfig = Bitmap.Config.RGB_565val bitmap = BitmapFactory.decodeFile(imageFile.absolutePath, options)// 2. 将Bitmap对象压缩为字节数组输出流val byteArrayOutputStream = ByteArrayOutputStream()bitmappress(Bitmap.CompressFormat.JPEG, quality, byteArrayOutputStream)var qt = quality// 3. 循环压缩,直到满足最大文件大小要求while (byteArrayOutputStream.toByteArray().size > maxSize && qt > 5) {byteArrayOutputStream.reset()bitmappress(Bitmap.CompressFormat.JPEG, qt, byteArrayOutputStream)qt -= 5 // 每次降低5%的压缩质量}// 4. 创建压缩后的文件并保存字节数组到文件中val compressedFile = File.createTempFile("compressed_", ".jpg")val fileOutputStream = FileOutputStream(compressedFile)fileOutputStream.write(byteArrayOutputStream.toByteArray())fileOutputStream.flush()fileOutputStream.close()return compressedFile} catch (e: IOException) {e.printStackTrace()}return null
}

更多推荐

android压缩图片到指定大小

本文发布于:2023-12-06 14:30:04,感谢您对本站的认可!
本文链接:https://www.elefans.com/category/jswz/34/1667865.html
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。
本文标签:大小   图片   android

发布评论

评论列表 (有 0 条评论)
草根站长

>www.elefans.com

编程频道|电子爱好者 - 技术资讯及电子产品介绍!