在安卓系统上调整MediaStore.Images.Media选择后的图片大小,可以通过以下步骤实现:
以下是一个示例代码,演示如何在安卓系统上调整MediaStore.Images.Media选择后的图片大小:
import android.graphics.Bitmap;
import android.graphics.BitmapFactory;
import android.media.MediaScannerConnection;
import android.os.Environment;
import android.provider.MediaStore;
import java.io.File;
import java.io.FileOutputStream;
import java.io.IOException;
public class ImageUtils {
public static void resizeImage(String imagePath, int targetWidth, int targetHeight) {
// 加载选中的图片
Bitmap bitmap = BitmapFactory.decodeFile(imagePath);
// 调整图片大小
Bitmap resizedBitmap = Bitmap.createScaledBitmap(bitmap, targetWidth, targetHeight, false);
// 保存调整后的图片
String resizedImagePath = saveImage(resizedBitmap);
// 更新媒体库
MediaScannerConnection.scanFile(context, new String[]{resizedImagePath}, null, null);
}
private static String saveImage(Bitmap bitmap) {
String root = Environment.getExternalStorageDirectory().toString();
File myDir = new File(root + "/saved_images");
myDir.mkdirs();
String fileName = "resized_image.jpg";
File file = new File(myDir, fileName);
if (file.exists()) file.delete();
try {
FileOutputStream out = new FileOutputStream(file);
bitmap.compress(Bitmap.CompressFormat.JPEG, 90, out);
out.flush();
out.close();
} catch (IOException e) {
e.printStackTrace();
}
return file.getAbsolutePath();
}
}
这段代码中,resizeImage()方法接收图片的路径、目标宽度和目标高度作为参数。它首先加载选中的图片,然后调用createScaledBitmap()方法调整图片大小,最后调用saveImage()方法保存调整后的图片。保存图片时,可以指定保存的路径和文件名。
领取专属 10元无门槛券
手把手带您无忧上云