相机 API - 图像太小
Posted
技术标签:
【中文标题】相机 API - 图像太小【英文标题】:Camera API - Image too small 【发布时间】:2014-01-19 01:58:00 【问题描述】:我正在尝试使用相机 API 拍摄照片以填充到图像视图中。现在的问题是从相机拍摄的图像太小而无法填充图像视图。
这是我用来瞄准相机并将图像填充到图像视图中的代码。
btn_takeImage = (Button) findViewById(R.id.btn_takeImage);
btn_takeImage.setOnClickListener(new OnClickListener()
@Override
public void onClick(View v)
Intent camera_intent = new Intent(android.provider.MediaStore.ACTION_IMAGE_CAPTURE);
startActivityForResult(camera_intent, CAMERA_PIC_REQUEST);
);
@Override
protected void onActivityResult(int requestCode, int resultCode, Intent data)
super.onActivityResult(requestCode, resultCode, data);
switch (requestCode)
case 0:
if (resultCode == RESULT_OK)
Bitmap thumbnail = (Bitmap) data.getExtras().get("data");
img_backgroundImage.setImageBitmap(thumbnail);
这是我的xml
<ImageView
android:id="@+id/img_additionalImage"
android:layout_
android:layout_
android:contentDescription="@null"
android:src="@drawable/ic_launcher" />
我的相机意图有什么问题还是我的 xml 有问题?
【问题讨论】:
【参考方案1】:这是因为意图数据总是返回捕获图像的缩略图而不是实际图像。
要获得实际图像,您必须执行以下一些棘手的操作。
查看答案here
【讨论】:
我试了一下,确实奏效了。但是,即使我以纵向拍摄照片,它也只允许我拍摄照片并将图像推送到横向。拍了几次照片测试也出现outofmemoryerror异常。 这是安卓漏洞。对于方向,如果检索到的位图大于宽度,则必须检查高度,然后将图像旋转 270 度,否则保持原样。 当您使用 ACTION_IMAGE_CAPTURE Intent 时,图像可能会很大,并且在解码为位图时会导致内存不足。您可以使用 BitmapFactory 来减少内存需求,但最终如果您自己控制相机可能会更好。以上是关于相机 API - 图像太小的主要内容,如果未能解决你的问题,请参考以下文章
人脸 API Python SDK“图像尺寸太小”(PersonGroupPerson add_face_from_stream)
如何使用自定义相机 API 制作圆形框架布局并捕获圆形图像?