【发布时间】:2016-12-27 17:39:46
【问题描述】:
我正在构建一个类似于图片中显示的条形码扫描仪的相机应用。我需要同时使用 Camera 和 android.hardware.camera2 API 来支持 android API >= 19。
主要思想是在整个屏幕上进行相机预览,但只保存未变暗的部分(或拍摄未变暗区域的照片)。我已经做了一些研究,发现通过Camera 和android.hardware.camera2 API 只拍摄部分图片是不可能的(但我不是 100% 确定)。所以我认为我需要对由于相机捕获而收到的字节数组(压缩为 JPEG)进行一些操作。
我尝试以这种方式使用 BitmapRegionDecoder:
BitmapRegionDecoder decoder = BitmapRegionDecoder.newInstance(bytes, 0, bytes.length, false);
Bitmap bitmap = decoder.decodeRegion(new Rect(500, 500, 1500, 1500), null);
bitmap.compress(Bitmap.CompressFormat.JPEG, 100, output);
其中bytes 是相机捕获的JPEG 压缩结果。但是这种方法会改变图像的方向并且不会裁剪Rect定义的区域(实际上是裁剪图像的另一部分)
对于如何实现所需行为的任何建议和提示,我将不胜感激。
【问题讨论】:
-
你让它工作了吗?
标签: android image camera android-camera2