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

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了如何在一帧后面显示预览相机并拍照包括帧相关的知识,希望对你有一定的参考价值。

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

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

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

非常感谢。

答案

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

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

接下来,您像往常一样捕获jpeg,将其解压缩到位图,使用框架位图覆盖(您可能需要在此处使用高分辨率版本的框架)并将两者结合(基于https://stackoverflow.com/a/4863551/192373):

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

以上是关于如何在一帧后面显示预览相机并拍照包括帧的主要内容,如果未能解决你的问题,请参考以下文章

Matlab:在一帧音频数据中查找主要频率

屏幕关闭时Android相机不会拍照

Android OpenGLES2.0——利用OpenGLES做Camera预览

从片段中的相机拍照

自定义相机预览图片

Android:通过片段进行相机预览。从活动中确定