最近接了一个需求是拍摄照片传给后端做ocr身份证识别,但是需要更改拍摄的时候页面样式
我粗略的编写了一下最后结果是这样的

一、使用camera标签,直接在里边编写样式即可
图中的绿色边框是使用canvas实现的

二、拍摄后的takePhone方法为

它会返回拍摄后的照片,但是照片是整个屏幕,并不是绿色边框内的,所以需要对返回的照片进行处理
三、对返回的照片进行裁剪,使用canvas裁剪
注意:应该先获取设备的宽高,和画布的比例进行调整,pc上和真机测试是不一样的,最好拿真机测试。(我就是在pc上调好后真机上测试剪切后的位置直接飞了)

wx.canvasToTempFilePath文档上说在draw()的回调中使用 但是文档又说已经不使用draw()了,我直接懵逼!最后查询后直接使用wx.canvasToTempFilePath就可以 下图的setTimeout是需要等等图片加载到画布的原因

最后success返回的info.tempFilePath就是最终裁剪完的绿色框中的内容
本文介绍了如何通过微信小程序实现身份证识别前的拍照功能,包括使用camera标签定制拍摄样式,处理拍摄后全屏照片并使用canvas裁剪至身份证识别区域,以及解决跨平台适配问题。
3035

被折叠的 条评论
为什么被折叠?



