gpt4 book ai didi

android - 如何告诉默认设备相机应用程序不要拍摄最大的图像,而是拍摄较小的图像?

转载 作者:太空狗 更新时间:2023-10-29 13:22:02 25 4
gpt4 key购买 nike

我像这样使用设备相机:

private void checkWhetherCameraIsAvailableAndTakeAPicture() {
// Check wether this device is able to take pictures
if (isIntentAvailable(a, MediaStore.ACTION_IMAGE_CAPTURE)) {
Intent takePictureIntent = new Intent(MediaStore.ACTION_IMAGE_CAPTURE);
File imageFile = null;
try {
imageFile = createImageFile();
imagePath = imageFile.getAbsolutePath();
takePictureIntent.putExtra(MediaStore.EXTRA_OUTPUT, Uri.fromFile(imageFile));
takePictureIntent.putExtra(MediaStore.EXTRA_SIZE_LIMIT, 1*1024*1024L); // Limit image to 1MB
} catch (IOException e) {
e.printStackTrace();
imageFile = null;
imagePath = null;
}
startActivityForResult(takePictureIntent, Preferences.REQUEST_CODE_TAKE_IMAGE_WITH_CAMERA);
}
}

然后相机打开,我拍了一张图片,我得到了一个 50 MB 的位图文件来处理,尝试处理它会导致大量的 OutOfMemoryError。

如您所见,我已尝试将返回的文件大小限制为 1MB,但显然它不起作用。

现在,我知道如果我使用 Camera.openCamera() 对象,我可以在那里设置任何我喜欢的参数,但是我如何告诉设备相机拍摄比最大尺寸小一点的图像?

最佳答案

As you can see I've tried limiting the file size returned to 1MB but apparently it doesnt work.

更准确地说:

  • EXTRA_SIZE_LIMIT 未记录用于 ACTION_IMAGE_CAPTURE

  • 相机应用不必满足任何特定的额外要求,而且有成千上万的相机应用

how do I tell the device camera to take a bit smaller image than the maximum size?

你不知道。您的选择是:

  • 提供 EXTRA_OUTPUT 并获取相机应用想要给你的任何内容(通常是最大分辨率,尽管在某些相机中这可能由用户配置)

  • 不提供 EXTRA_OUTPUT 并获取相机应用想要给您的任何内容(理论上是缩略图大小的图像)

关于android - 如何告诉默认设备相机应用程序不要拍摄最大的图像,而是拍摄较小的图像?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27486622/

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