如何使用Android中的相机捕获自定义图像大小?

Ngu*_*inh 15 android image capture android-camera

如何捕获android中的方形图像?我想通过在android中调用Camera来捕获方形图像(例如300x300像素),我该怎么做?

Ale*_*dam 8

编辑:自API级别21以来已弃用.

使用Camera.Size嵌套类

http://developer.android.com/reference/android/hardware/Camera.Size.html

从android参考:

http://developer.android.com/reference/android/hardware/Camera.html

课程概述

Camera类用于设置图像捕获设置,开始/停止预览,捕捉图片和检索帧以进行视频编码.此类是Camera服务的客户端,它管理实际的相机硬件.

确保相机支持该尺寸(很可能不支持).如果没有,请以最近的分辨率拍照并裁剪或调整大小.

Camera myCamera = Camera.open(0);
List<Camera.Size> sizes = myCamera.getPArameters().getSupportedPictureSizes();
Run Code Online (Sandbox Code Playgroud)

要了解相机意图,请在SO中查看以下问题:

Android相机意图

相机意图android


Ewo*_*oks 5

为什么没有人提到这样的事情?

Bitmap resultBitmap = Bitmap.createBitmap(sourceBitmap, xStart, yStart, 300, 300);
Run Code Online (Sandbox Code Playgroud)

其中sourceBitmap是从相机进行的原始捕获,xStart以及yStart从中开始裁剪的位置.结果应该有xStart,yStart在左上角.

  • 如果捕获的图像对于位图来说不是太大,这将是一个很好的选择.我有一个捕获图片的应用程序,但如果我想以这种方式调整大小,我会得到一个outOfMemoryException,因为捕获的图片太大了. (4认同)