在android中以原始分辨率在应用程序内捕获照片
我在android应用程序中使用照相机拍摄图像。捕获后,我将图片保存到特定文件夹中的移动内部/外部存储器中。问题是这些图片没有以相机通常的分辨率保存,它们的分辨率非常低 这是我的密码在android中以原始分辨率在应用程序内捕获照片,android,android-intent,android-camera,Android,Android Intent,Android Camera,我在android应用程序中使用照相机拍摄图像。捕获后,我将图片保存到特定文件夹中的移动内部/外部存储器中。问题是这些图片没有以相机通常的分辨率保存,它们的分辨率非常低 这是我的密码 Intent intent = new Intent( android.provider.MediaStore.ACTION_IMAGE_CAPTURE); startActivityForResult(intent, 0); @Override prot
Intent intent = new Intent(
android.provider.MediaStore.ACTION_IMAGE_CAPTURE);
startActivityForResult(intent, 0);
@Override
protected void onActivityResult(int requestCode, int resultCode, Intent data) {
// TODO Auto-generated method stub
super.onActivityResult(requestCode, resultCode, data);
Bitmap bp = (Bitmap) data.getExtras().get("data");
/*********** Load Captured Image And Data Start ****************/
String extr = Environment.getExternalStorageDirectory().toString()
+ File.separator + "ScannerMini";
String timeStamp = new SimpleDateFormat("yyyyMMdd_HHmmss")
.format(new Date());
imageName = timeStamp + ".jpg";
if (Environment.MEDIA_MOUNTED.equals(state)) {
// We can read and write the media
myPath = new File(getExternalFilesDir(filepath), imageName);
//File myPath = new File(extr, imageName);
}
else{
myPath = new File(extr, imageName);
}
FileOutputStream fos = null;
try {
fos = new FileOutputStream(myPath);
bp.compress(Bitmap.CompressFormat.JPEG, 100, fos);
fos.flush();
fos.close();
MediaStore.Images.Media.insertImage(getApplicationContext()
.getContentResolver(), bp, myPath.getPath(), imageName);
} catch (FileNotFoundException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} catch (Exception e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
有谁能告诉我,我该怎么做才能以原始分辨率保存图像。任何帮助都将不胜感激。谢谢:)
通过这样做,您将只得到一个缩略图图像。您需要在捕获意图中指定MediaStore.EXTRA_OUTPUT
选项。这是存储捕获图像的路径。请参阅android文档
Bitmap bp = (Bitmap) data.getExtras().get("data");