我正在尝试构建一个应用程序,它捕获图片并将图片发送到另一个活动。 我试图在第二个活动中显示这张照片,显然画面的质量非常低。
到目前为止,这是我的代码
Intent cameraIntent = new Intent(MediaStore.ACTION_IMAGE_CAPTURE);
startActivityForResult(cameraIntent, PICTURE_TAKEN);
protected void onActivityResult(int requestCode, int resultCode, Intent data) {
super.onActivityResult(requestCode, resultCode, data);
if(resultCode == RESULT_OK){
Intent canvasIntent = new Intent(this ,canvas.class);
Bundle extras = data.getExtras();
bmpCameraResult = (Bitmap)extras.get("data");
canvasIntent.putExtra("bmp_Image", bmpCameraResult);
startActivity(canvasIntent);
}
在canvasActivity中,我试图以传统方式接收位图并尝试显示它。
Intent intent= getIntent();
Bitmap bmp = (Bitmap) intent.getParcelableExtra("bmp_Image");
ImageView iv = new ImageView(this);
iv.setImageBitmap(bmp);
setContentView(iv);
这可能是导致质量下降的原因?获得高质量图像的优化方法是什么?
谢谢。
答案 0 :(得分:0)
您是否尝试在jpegQuality
(setJpegQuality)中设置Camera Parameters
Camera.Parameters),如下所示:Camera Feature Documentation?
我认为您还应该阅读有关同一问题的这些答案: