gpt4 book ai didi

android - 在不创建新文件的情况下裁剪图像

转载 作者:行者123 更新时间:2023-11-29 15:26:28 24 4
gpt4 key购买 nike

我有这段代码可以从图库中获取图像,然后将其传递给 intent 进行裁剪。一切正常,但这要么在图库中创建新的裁剪图像,要么用裁剪图像替换旧图像,但我想做的是将新裁剪图像保留在我的程序临时内存中,直到它再次被用户更改。

这是我的代码:

Uri selectedImage = imageReturnedIntent.getData();

final Intent intent = new Intent("com.android.camera.action.CROP");
intent.setData(selectedImage);
intent.putExtra("outputX", width);
intent.putExtra("outputY", height);
intent.putExtra("aspectX", width);
intent.putExtra("aspectY", height);
intent.putExtra("scale", true);
intent.putExtra("noFaceDetection", true);
intent.putExtra("output", selectedImage); // with this enabled it replaces the original image and without it creates new one in gallery.
startActivityForResult(intent, 23);

最佳答案

您应该创建一个临时文件,之后您将删除该文件:

    (...)
File tempFile = File.createTempFile("crop", "png", Environment
.getExternalStorageDirectory());
Uri tempUri = Uri.fromFile(tempFile);
intent.putExtra("output", tempUri);
intent.putExtra("outputFormat", "PNG");
(...)

// then, when the intent returns

// read cropped image from tempUri
(...)
// finally delete the temp file
tempFile.delete();

关于android - 在不创建新文件的情况下裁剪图像,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12222020/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com