如何在一帧后面显示预览相机并拍照包括帧

时间:2017-12-24 15:30:57

标签: android camera preview

我正在尝试使用相机API在Android中构建相机应用。

我按照说明操作:https://examples.javacodegeeks.com/android/core/hardware/camera-hardware/android-camera-example/我制作了一个相机应用

现在我需要在一个框架内显示预览相机并拍摄包含框架的图片

请参阅以下两张图片:

资源文件夹中的框架:https://i.stack.imgur.com/AaNIQ.png

我想要实现的照片:https://i.stack.imgur.com/UWXcq.jpg

任何人都可以给我建议或者如果可能的话给我一个简单的例子吗?

我搜索了这个,但没有得到正确的例子。

非常感谢你。

1 个答案:

答案 0 :(得分:0)

答案的一半可以在这里找到: https://stackoverflow.com/a/47240902/192373

至于为全分辨率图片捕获保持相同的布局,首先要确保您保持预览和图片大小同步。这并不意味着它们必须相同,但宽高比应该是。当宽高比变化以捕捉照片时,某些设备会产生奇怪的效果。

接下来,您像往常一样捕获jpeg,将其解压缩到位图,使用帧位图覆盖(您可能需要在此处使用高分辨率版本的帧)并将两者结合起来(基于 {{3} } 的):

public Bitmap combineImages(Bitmap picture, Bitmap frame) {
 Bitmap bmp = Bitmap.createBitmap(picture.getWidth(), picture.getHeight(), Bitmap.Config.ARGB_8888); 

 Canvas comboImage = new Canvas(bmp); 

 comboImage.drawBitmap(picture, 0f, 0f, null); 
 comboImage.drawBitmap(frame, 0f, 0f, null);  

 return bmp; 
}