加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 综合聚焦 > 资源网站 > 资源 > 正文

小程序用Canvas给图片加水印,拼接图片,制作名片

发布时间:2020-12-14 19:29:36 所属栏目:资源 来源:网络整理
导读:Canvas是微信小程序中的一个原生组件,因此我们在使用它的时候要特别注意微信小程序对原生组件的使用说明。canvas这个组件其实就是一个画布,你可以在上面画很多你用其他方式不好实现的内容。下面我就将介绍一下怎么给图片添加水印,图片的拼接,怎么制作个

Canvas是微信小程序中的一个原生组件,因此我们在使用它的时候要特别注意微信小程序对原生组件的使用说明。canvas这个组件其实就是一个画布,你可以在上面画很多你用其他方式不好实现的内容。下面我就将介绍一下怎么给图片添加水印,图片的拼接,怎么制作个性名片以及制作一个涂鸦的画板。

水印

水印的添加总的来说可以简单的分为三步来走,第一步先完成一个画布的创建,第二步在画板上画出你想添加水印的图片,第三步画上你要添加的水印文字。

创建画板

  1. <canvas style="width: {{imageWidth}}px; heightimageHeight;canvas-id"myCanvas"></canvas>

需要注意的是canvas-id的唯一性,如果使用一个已经出现过的 canvas-id,该 canvas 标签对应的画布将被隐藏并不再正常工作。这里我们将宽度和高度设置成动态的,根据图片的宽高来确定画板宽高的比例。?
然后我们需要在.js文件中进行操作:

var ctx= wx.createCanvasContext('myCanvas')
  • //选择图片,这里我们设置先选择一张。
  • wxchooseImage({
  • sizeType['original' 'compressed'],
  • 'camera' tempFilePaths restempFilePaths
  • wxgetImageInfo({
  • successfunction{
  • height height
  • let screenWidth getSystemInfoSync().windowWidth
  • ifwidth >={
  • width screenWidth
  • height /* width
  • {
  • }
  • height
  • width
  • }
  • imageWidth width imageHeight})
  • rotateobjrotate MathPI 180)
  • setFontSize(14)
  • )
  • 50)
  • ctx()
  • "你要添加的文字"15+-)*length }
  • fontSizecolor)
  • ()
  • ctxdraw()
  • })
  • })
  • 图片拼接

    图片拼接思路就更加简单了,说白了就是在一个画布上咱们连续地画几张图片再将它导出来就OK了。?
    创建画布我就不说了,还是和上面的一样,width和height也是动态的。我们得根据获取的图片来动态的计算出它的宽高,这里主要是计算它的高度,以保证我们弄出来的图片是不会变形的。

    // 这里的图片数组可以从相册中选取出来,也可以从上一个页面传过来,但是要注意传的时候得转成JSON再传

       imageUrl [i]
    
  • src imageUrlheight
  • objdownNum obj1
  • if sw){
  • height // heightForCanvas也是一个对象,用来记录总的高度
  • that({
  • })
  • ==){
  • }
  • }
  • 个性名片

    个性名片其实就是对画布的一个综合整体的运用,同样的技巧你也可以用来制作海报什么的。还是说一下思路,首先我们也是创建画布,然后给它添加一个贴切你主题的背景图,添加背景图最需要注意的还是获取图片的尺寸防止其变形。背景添加了我们就需要给它添加展示的内容了,添加文字添加图片等等。这里说一下怎么给图片切圆角,首先我们需要用canvas画一个圆,然后再对其进行裁剪,因为一旦剪切了某个区域,则所有之后的绘图都会被限制在被剪切的区域内。

     ctx // 先保存状态 已便于画完圆再用
    
  • // 开始绘制
  • //先画个圆
  • // 画了圆 再剪切 原始画布中剪切任意形状和尺寸。一旦剪切了某个区域,则所有之后的绘图都会被限制在被剪切的区域内
  • '图片的地址''图片宽度''图片高度');
  • restore
  • })
  • 最后还有很多的细节没有讲到大家如果还有疑点可以看看这个demo这是我写的一个简单处理图片的一个小程序,你也可以在微信小程序中搜索“图片帮手”。也可以直接扫描下方的二维码?

    demo:

    由于本人也是小程序小白,有什么地方说的不对的还请海涵。

    作者:codeLover_0324?
    链接:https://www.jianshu.com/p/50b662e93053?

    (编辑:李大同)

    【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

      推荐文章
        热点阅读