android studio项目,对Bitmap对图片进行压缩,设置质量到80%,如何获取压缩后的Bitmap图片文件的大小,单位kb
时间: 2024-12-11 13:45:08 浏览: 6
在Android Studio中,如果你想要对Bitmap图片进行压缩并设置质量为80%,你可以使用`Bitmap.CompressFormat`和`Bitmap.createScaledBitmap()`方法。这里是一个简单的示例:
```java
import android.graphics.Bitmap;
import android.graphics.BitmapFactory;
// 原始Bitmap对象
Bitmap originalBitmap = BitmapFactory.decodeResource(getResources(), R.drawable.your_image);
// 设置压缩质量为80%
int quality = 80;
Bitmap compressedBitmap = Bitmap.createScaledBitmap(originalBitmap, widthAfterCompression, heightAfterCompression, true);
compressedBitmap.compress(Bitmap.CompressFormat.JPEG, quality, stream); // 使用JPEG格式压缩
// 获取压缩后的字节数
long byteSizeBeforeCompress = originalBitmap.getByteCount(); // 原始Bitmap大小
long byteSizeAfterCompress = stream.toByteArray().length; // 压缩后大小
// 将字节转换为KB
float kbSizeBeforeCompress = byteSizeBeforeCompress / (1024f * 1024f);
float kbSizeAfterCompress = byteSizeAfterCompress / (1024f * 1024f);
Log.d("Image Size", "Original size: " + String.format("%.2f KB", kbSizeBeforeCompress) +
"\nCompressed size: " + String.format("%.2f KB", kbSizeAfterCompress));
```
在这个例子中,你需要替换`widthAfterCompression`和`heightAfterCompression`为你希望压缩后的尺寸。`stream`可以是一个`ByteArrayOutputStream`,用于存储压缩后的数据。
阅读全文