如何在Android中保存之前调整图像大小

时间:2015-02-05 06:04:48

标签: android

我想将图像保存在目录中,但在保存之前我想减小图像的大小,因为我需要稍后上传它。如何调整图像大小并保存?

private static File saveImage(int type) {

    // External sdcard location
    File mediaStorageDir = new File(
            Environment
            .getExternalStoragePublicDirectory(Environment.DIRECTORY_PICTURES),
            IMAGE_DIRECTORY_NAME);

    // Create the storage directory if it does not exist
    if (!mediaStorageDir.exists()) {
        if (!mediaStorageDir.mkdirs()) {
            Log.d(IMAGE_DIRECTORY_NAME, "Oops! Failed create "
                    + IMAGE_DIRECTORY_NAME + " directory");
            return null;
        }
    }

    // Create a media file name
    String timeStamp = new SimpleDateFormat("yyyyMMdd_HHmmss",
            Locale.getDefault()).format(new Date());
    File mediaFile;
    if (type == MEDIA_TYPE_IMAGE) {

        mediaFile = new File(mediaStorageDir.getPath() + File.separator
                + "IMG_" + timeStamp + ".jpg");
    }  else {
        return null;
    }

    return mediaFile;
}

是否有任何库或内置函数可以执行此操作?

1 个答案:

答案 0 :(得分:0)

您需要加载图片并调整其大小。请参阅BitmapFactory,然后您可以使用decodeFile()加载图片并使用BitmapOptions调整图片大小,并且Bitmap类有一个保存方法缩放的图像到磁盘。见compress