【发布时间】:2018-03-12 09:50:37
【问题描述】:
我找到了这两部分代码,如何在 Android 中从相机中拍照:
onCreate() 方法内部:
Button capture;
capture.setOnClickListener(new View.OnClickListener() {
public void onClick(View v) {
Intent cameraIntent = new Intent(MediaStore.ACTION_IMAGE_CAPTURE);
startActivityForResult(cameraIntent, TAKE_PHOTO_CODE);
}
});
和
@Override
protected void onActivityResult(int requestCode, int resultCode, Intent data)
{
super.onActivityResult(requestCode, resultCode, data);
if (requestCode == TAKE_PHOTO_CODE && resultCode == RESULT_OK) {
Bundle extras = data.getExtras();
Bitmap imageBitmap = (Bitmap) extras.get("data");
}
}
它可以工作,但问题是,结果图像的质量非常低!我想知道如何指定要拍摄的图像质量?
还想知道,bitmap 是否还有其他选项可以存储或处理图像?
编辑:
我必须说,当我用手机拍照时(我的意思是在这个应用程序之外)效果很好,但在我编写的应用程序中,它会降低拍摄的图像质量!
**另外我还有一个问题...如何删除拍摄图像后显示的第二页(我的意思是该页面显示RETRY-OK 选项)。
【问题讨论】:
-
如果 Intent 返回
"data",它是一个很小的缩略图,而不是完整图像:请参阅 stackoverflow.com/a/41344412/192373,它考虑了 Android 7 及更高版本的要求。
标签: android android-camera-intent image-quality