如何限制从 IMAGE_CAPTURE Intent 获取的图片大小

发布于 2024-11-23 18:25:43 字数 568 浏览 3 评论 0原文

我用来

Intent intent = new Intent("android.media.action.IMAGE_CAPTURE");  
intent.putExtra(MediaStore.EXTRA_OUTPUT, Uri.fromFile(new File(getSomePath()+"temp.jpg"))); 
//intent.putExtra(MediaStore.EXTRA_VIDEO_QUALITY, 1);  
startActivityForResult(intent, 0);   

获取图片,保存的图片返回为全尺寸。

但我想要一张有限的图片,比如 800*640,因为在不同的设备上我会得到不同的尺寸,而且我不需要那么大的图片。

我注意到 MediaStore 中有一个 EXTRA_SIZE_LIMIT ,但我可以不知道如何使用,应该设置什么参数?

I use

Intent intent = new Intent("android.media.action.IMAGE_CAPTURE");  
intent.putExtra(MediaStore.EXTRA_OUTPUT, Uri.fromFile(new File(getSomePath()+"temp.jpg"))); 
//intent.putExtra(MediaStore.EXTRA_VIDEO_QUALITY, 1);  
startActivityForResult(intent, 0);   

to get a picture and the saved picture returns as full-size.

But I want to get a limited picture, like 800*640, because on different devices I get different sizes, and I don't need that big picture.

I notice that there is a EXTRA_SIZE_LIMIT in MediaStore , but I can't find how to use it, what parameter should be set?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

淡忘如思 2024-11-30 18:25:43

回答我自己的问题。

最后我发现这是因为不同的厂商定制了他们的Rom,包括相机应用程序,所以最好的方法是不要调用默认的相机应用程序,而是我们可以编写一个使用hardware.camera的活动来拍照。互联网上也有很多这方面的例子。

Answering my own question.

Finally I found that's because different manufacturers customize their Rom, including the Camera app, so the best way is not to call the default camera app, instead we can write a activity use hardware.camera to take picture. There are a lot of examples for this around the Internet too.

李不 2024-11-30 18:25:43

不幸的是 EXTRA_SIZE_LIMIT 用于视频限制(以字节为单位)。

Unfortunately EXTRA_SIZE_LIMIT used for video limit in bytes.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文