【发布时间】:2018-02-13 04:00:30
【问题描述】:
我有一个触发图像捕获的按钮:
private void capturePicture() {
if(ActivityCompat.checkSelfPermission(getContext(), Manifest.permission.CAMERA) == PackageManager.PERMISSION_GRANTED){
Intent intent = new Intent(MediaStore.ACTION_IMAGE_CAPTURE);
// Tiến hành gọi Capture Image intent
startActivityForResult(intent, 100);
} else ActivityCompat.requestPermissions(getActivity(), new String[]{Manifest.permission.CAMERA}, 200);
}
刚拍完照片,我就看到了截图,而且分辨率很低。它保存在本地存储中,当它显示在应用程序中时,它不是原始质量。
private void loadImageFromStorage(String path, int position, Device device)
{
try {
File f=new File(path,device.getSerial()+".jpg");
Bitmap b = BitmapFactory.decodeStream(new FileInputStream(f));
imvDeviceImage.setImageBitmap(b);
}
catch (FileNotFoundException e)
{
e.printStackTrace();
}
}
这里是为了获得许可
if(ActivityCompat.checkSelfPermission(getContext(), Manifest.permission.CAMERA) == PackageManager.PERMISSION_GRANTED){
Intent intent = new Intent(MediaStore.ACTION_IMAGE_CAPTURE);
startActivityForResult(intent, 100);
} else ActivityCompat.requestPermissions(getActivity(), new String[]{Manifest.permission.CAMERA}, 200);
【问题讨论】:
-
您可以使用 URI 代替位图
-
从这篇文章中尝试这个解决方案。 stackoverflow.com/a/10382217/1855635
标签: android local-storage android-camera resolution blurry