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

How to display preview camera behind a frame and take picture include frame

我正在尝试使用相机 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

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

我对此进行了搜索,但没有找到合适的示例。

非常感谢。

一半的答案可以在这里找到:.

至于为全分辨率图片捕获保持相同的布局,首先要确保预览和图片尺寸保持同步。这并不意味着它们必须相同,但纵横比应该相同。某些设备在更改宽高比以拍摄照片时会出现奇怪的效果。

接下来,您像往常一样捕获 jpeg,将其解压缩为位图,与帧位图叠加(您可能需要此处帧的高分辨率版本)并将两者结合(基于 ):

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; 
}