资讯

精准传达 • 有效沟通

从品牌网站建设到网络营销策划,从策略到执行的一站式服务

怎么在小程序中实现保存图片组件功能

这篇文章主要讲解了“怎么在小程序中实现保存图片组件功能”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“怎么在小程序中实现保存图片组件功能”吧!

在肥城等地区,都构建了全面的区域性战略布局,加强发展的系统性、市场前瞻性、产品创新能力,以专注、极致的服务理念,为客户提供做网站、网站建设 网站设计制作定制开发,公司网站建设,企业网站建设,品牌网站设计,营销型网站建设,成都外贸网站建设,肥城网站建设费用合理。

思路

首先声明下组件采用的是uniapp,具体实现了可以绘制图片、绘制文字以及保存海报至相册的基本功能,在开发中这些也完全够用了。

通过canvas绘制海报。通过uni.canvasToTempFilePath 将绘制好的 canvas转为图片。通过uni.saveImageToPhotosAlbum 将本地临时路径的图片保存至手机相册中。而我的想法是将所有采用的方法全部封装到组件中,只通过父组件去调用需要使用的方法和调整相关的参数即可。具体使用可以查看示例代码

通过canvas绘制海报内容的顺序先后问题

通过使用promise对象决定绘制海报内容的顺序先后。promise.all()方法进行canvas最后一步的绘画操作 context.draw()

注意uni.getImageInfo()

  • 在绘制图片 和 头像时,组件通过uni.getImageInfo() 去获取图片的相关信息,调用该方法成功的前提是需要在微信小程序后台配置download域名和request域名当然最好把uploadFile域名也一起配置,防止出差错。但是官方给出的提示是配置download域名白名单即可,但是获取不到图片信息,这算是一个大坑了。

  • 如果没有进行相关配置,在调试时 或者 体验版 正式版等 打开了vconsole调试工具。uni.getImageInfo() 是可以获取到图片信息的,一旦关闭了vconsole uni.getImageInfo() 将会fail, 也是个坑。

本组件方法,变量介绍

props

  • canvasInfo Object (必需)

    • canvasWidth 画布宽度

    • canvasHeight 画布高度

    • canvasId 画布标识

  • isFullScreen Boolean

    • 为ture时表示画布为手机屏幕全屏,canvasInfo设置的宽高将失效。

    • 默认为 false

methods

  • canvasInit(callback) canvas初始化,所有有关画布canvas操作需在其回调函数操作。

  • drawCanvasImage(context, src, _imageWidth, _imageHeight, dx, dy) 在canvas绘制一张图片

  • drawCircularAvatar(context, url, _circularX, _circularY, _circularR) 在canvas绘制一张圆形图片

  • drawText(options) 在canvas绘制单行、多行文本

  • startDrawToImage(context, promiseArr, callback) 将canvas操作draw()进行绘制

  • posterToPhotosAlbum(filePath) 保存至手机相册

示例代码





组件源码





感谢各位的阅读,以上就是“怎么在小程序中实现保存图片组件功能”的内容了,经过本文的学习后,相信大家对怎么在小程序中实现保存图片组件功能这一问题有了更深刻的体会,具体使用情况还需要大家实践验证。这里是创新互联,小编将为大家推送更多相关知识点的文章,欢迎关注!


文章标题:怎么在小程序中实现保存图片组件功能
标题网址:http://cdkjz.cn/article/ipeiei.html
多年建站经验

多一份参考,总有益处

联系快上网,免费获得专属《策划方案》及报价

咨询相关问题或预约面谈,可以通过以下方式与我们联系

大客户专线   成都:13518219792   座机:028-86922220