Android开发程序员

个人心得——相机拍照照片不清晰

2016-12-21  本文已影响87人  CrayfishXu

相机拍照照片不清晰

如今的APP一般都会带有拍照功能,那么我们最好对拍照进行一个封装。取相机拍到的照片有两种,一种是调起相机拍完取得,另一种就是直接从图库取得。

图库取照片

相信图库的调用方法都一样,没有出入。

Intent intent = new Intent(Intent.ACTION_GET_CONTENT);
intent.addCategory(Intent.CATEGORY_OPENABLE);
intent.setType("image/*");
startActivityForResult(Intent.createChooser(intent, "选择图片"), 
FILECHOOSER_RESULTCODE);

相机拍照取照片

相机拍照往往都是如下

Intent intent = new Intent(MediaStore.ACTION_IMAGE_CAPTURE);

调用完后在onActivityResult取得照片数据是data.getExtras().get("data"),但是这样的照片是不清楚的。
所以我寻找了一种解决办法。
通过拍完保存到本地路径的方式获取一个Uri来取得清晰的照片

Intent intent = new Intent(MediaStore.ACTION_IMAGE_CAPTURE);
take_pic_uri = Uri.fromFile(new File(Environment.getExternalStorageDirectory(),
String.valueOf(System.currentTimeMillis()) + ".jpg"));
intent.putExtra(android.provider.MediaStore.EXTRA_OUTPUT, take_pic_uri);
startActivityForResult(intent, REQUEST_SELECT_TAKE_PICTURE);

这之后在onActivityResult中取take_pic_uri的照片就是清晰的了。

上一篇下一篇

猜你喜欢

热点阅读