2

我保存的图像大小有问题。假设我有一个 1028 x 960 的 JPEG,我会将文件读入位图并进行一些编辑并再次将其另存为 JPEG。图像为 514 x 480。我能做些什么使尺寸保持不变?

这是我阅读文件时的代码:

private void choosePhoto() {
    generalIntent = new Intent(Intent.ACTION_GET_CONTENT);
    generalIntent.setType("image/*");
    startActivityForResult(generalIntent, CHOOSE_PHOTO);
}

和这个

if (requestCode == CHOOSE_PHOTO) {
    cleanUpImageView();
    tempImageUri[1] = data.getData();
    editPhotoImg.setImageURI(tempImageUri[1]);
}

这是保存文件的代码:

private void savePhoto() {
    if (editPhotoImg.getDrawable() == null) {
        Toast.makeText(EditPhoto.this, "No Photo Edited", Toast.LENGTH_SHORT).show();
    } else {
        try {
            String filePath = getOutputMediaFile(RESULT).getPath();
            editPhotoImg.setDrawingCacheEnabled(true);
            Bitmap b = editPhotoImg.getDrawingCache(true);

            b.compress(CompressFormat.JPEG, 100, new FileOutputStream(filePath));
            Toast.makeText(EditPhoto.this, "Image saved to: " + filePath,
                    Toast.LENGTH_SHORT).show();
        } catch (Exception e) {
            Toast.makeText(EditPhoto.this, "Invalid File Path", Toast.LENGTH_SHORT).show();
        }
    }
}

图像质量也丢失了,但我认为这可能无济于事。但我真的希望至少尺寸不会减少。提前感谢您的帮助。我很感激。

4

0 回答 0