怎么在小程序中实现图片长按识别功能

  介绍

今天就跟大家聊聊有关怎么在小程序中实现图片长按识别功能,可能很多人都不太了解,为了让大家更加了解,小编给大家总结了以下内容,希望大家根据这篇文章可以有所收获。

1。文档中有一句提示:

“图像组件中二维码/小程序码图片不支持长按识别,仅在wx。previewImage中支持长按识别“

2。即便实现了”的天气。previewImage”效果,但依旧是不支持二维码识别的

附录文档位置:小程序图片长按识别

<强>代码设计

好在这也是一个不错的知识点,在此进行一番实现流程的记录,欢迎指摘。

①。wxml页面元素设计

作为引导界面,只需放置一张图片即可,以我的代码为例

//#,使用简单的实现方式,直接赋值一个图片链接得了   https://www.yisu.com/zixun/& lt; image  src=" https://img.fetow.com/Public/Index/images/shewm.jpg "模式=皐idthFix”   data-src=" https://img.fetow.com/Public/Index/images/shewm.jpg "   bindtap=" previewImage ">

②。js文件实现“previewImage”方法

在对应的js文件中,添加了如下的方法

,/* *   ,*图片预览方法   ,*此处注意的一点就是,调用,“wx.previewImage"时,第二个参数要求为数组形式哦   *大敌;当然,做过图片上传功能的应该会注意到,如果涉及到多张图片预览,图片链接数组集合即为参数,网址!   ,*/,previewImage:函数(e), {   ,var  current =, e.target.dataset.src;   ,wx.previewImage ({   当前的才能:目前,   url:才能,(目前)   ,})   },

③。实现效果

可以发现,下图中是没有“识别图中二维码”的选项

怎么在小程序中实现图片长按识别功能

如果发送给了好友或者自行保存后,在微信中打开的并长按的效果如下:

<强> 怎么在小程序中实现图片长按识别功能

<强>出现问题:

1。服务器上发送过来的图片路径直接插进ctx。drawImage上,手机上显示不了。

解决方案:利用wx。downloadFile将图片下载再保存好这个新图片路径,然后放到ctx。drawImage上

,//下载图片   ,onShow1: function (对象),{=,let  _this ;   ,_this.setData ({   isShowCav才能:真实   ,})   ,wx.downloadFile ({   url:才能,object.avatarurl,   ,,成功:function  (sr), {   _this.setData({才能   ,,canvasUserPic: sres.tempFilePath   ,,});   wx.downloadFile({才能   ,,,url: object.show_img,   ,,,成功:function  (sres1), {   ,,_this.setData ({   ,,,canvasShowImg: sres1.tempFilePath   ,,});   ,,_this.canvas(对象);   ,,}   })才能   ,,}   ,})   },

2。帆布出现在手机上的顶层,不管z - index设置多少层都没有用。

解决方案:利用天气:如果=皗{isShowCav}},将画布临时隐藏,要用到的时候再显示。不用再隐藏掉。

3。画布里面的文字如何居中,官方文档虽然提供了案例,但是没有说具体是怎么用的。

解决方案:

const  ctx =, wx.createCanvasContext (& # 39; myCanvas& # 39;)      ctx.setStrokeStyle(& # 39;红色# 39;)   ctx.moveTo (150, 20)   ctx.lineTo (150,, 170)   ctx.stroke ()      ctx.setFontSize (15)   ctx.setTextAlign(& # 39;左# 39;)   ctx.fillText (& # 39; textAlign=左# 39;,,150年,60)      ctx.setTextAlign(& # 39;中心# 39;)   ctx.fillText (& # 39; textAlign=中心# 39;,,150,,80)      ctx.setTextAlign(& # 39;对# 39;)   ctx.fillText (& # 39; textAlign=正确# 39;,,150,,100)      ctx.draw ()

怎么在小程序中实现图片长按识别功能

看完上述内容,你们对怎么在小程序中实现图片长按识别功能有进一步的了解吗?如果还想了解更多知识或者相关内容,请关注行业资讯频道,感谢大家的支持。

怎么在小程序中实现图片长按识别功能