首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

如何在安卓系统上调整MediaStore.Images.Media选择后的图片大小

在安卓系统上调整MediaStore.Images.Media选择后的图片大小,可以通过以下步骤实现:

  1. 获取选中的图片的URI或路径。
    • 在安卓系统中,可以使用MediaStore.Images.Media来获取图片的URI或路径。
  • 使用BitmapFactory类加载选中的图片。
    • 使用BitmapFactory类的decodeFile()方法或decodeStream()方法,根据图片的URI或路径加载图片为Bitmap对象。
  • 调整图片大小。
    • 可以使用Bitmap类的createScaledBitmap()方法,指定目标宽度和高度,将加载的图片进行缩放。
  • 保存调整后的图片。
    • 可以使用Bitmap类的compress()方法将调整后的Bitmap对象保存为文件,可以选择保存为JPEG或PNG格式。

以下是一个示例代码,演示如何在安卓系统上调整MediaStore.Images.Media选择后的图片大小:

代码语言:txt
复制
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()方法保存调整后的图片。保存图片时,可以指定保存的路径和文件名。

页面内容是否对你有帮助?
有帮助
没帮助

相关·内容

领券