我尝试制作一个简单的相机应用,捕捉图像并在图像视图中查看图像: 我在MainActivity中尝试了这段代码:
ImageView myImageView;
public void myButtonCamera (View view){
Intent cameraIntent = new Intent (android.provider.MediaStore.ACTION_IMAGE_CAPTURE);
startActivityForResult(cameraIntent, 10);
}
@Override
protected void onActivityResult(int requestCode, int resultCode, Intent data){
super.onActivityResult(requestCode,resultCode,data);
if (resultCode == RESULT_OK){
if (requestCode == 10){
Bitmap cameraCapture;
cameraCapture = (Bitmap)data.getExtras().get("data");
myImageView.setImageBitmap(cameraCapture);
}
}
}
该应用程序可以工作并捕获图像,但在ImageView中查看后,它会模糊图像。
我试图将ImageView的高度和宽度属性设置为wrap_content
,在测试应用程序后,我注意到捕获的图像分辨率非常小!因为观看图像的尺寸非常小!
答案 0 :(得分:7)
我注意到拍摄的图像分辨率非常小!
这就是您的代码所要求的。引用the documentation for ACTION_IMAGE_CAPTURE
:
调用者可以传递额外的EXTRA_OUTPUT来控制该图像的写入位置。如果EXTRA_OUTPUT不存在,则在额外字段中返回一个小尺寸图像作为Bitmap对象。
如果您需要全分辨率图像,请使用ls = [(item,st.find(item)) for item in lst if st.find(item)!=-1]
在外部存储上指示您希望相机应用程序写入全分辨率图像的文件:
EXTRA_OUTPUT