使用方式
String filePath = ImageCompressUtil.compressAndSaveBitmap(activity, bitmap, 500);
工具类
public class ImageCompressUtil {
/**
* 压缩并保存 Bitmap 到文件
*
* @param context 上下文
* @param originalBitmap 原始 Bitmap 对象
* @param maxSizeKB 目标最大文件大小(KB)
* @return 保存后的文件路径,失败返回 null
*/
public static String compressAndSaveBitmap(Context context, Bitmap originalBitmap, int maxSizeKB) {
if (originalBitmap == null) return null;
try {
// 1. 尺寸压缩(根据设备屏幕尺寸调整)
Bitmap resizedBitmap = resizeBitmap(originalBitmap, 1024, 1024);
// 2. 质量压缩并保存
File outputFile = createImageFile(context);
int quality = 9