zoukankan      html  css  js  c++  java
  • 微信小程序使用canvas绘制图片及图片圆角

    1.绘制圆形头像

    //绘制的头像宽度
    let avatarurl_width = 40
    //绘制的头像高度
    let avatarurl_heigth = 40
    //绘制的头像在画布上的位置
    let avatarurl_x = 10
    //绘制的头像在画布上的位置
    let avatarurl_y = 10
    
    // 绘制头像
    ctx.save()
    // 开始创建一个路径
    ctx.beginPath()
    // 画一个圆形裁剪区域
    ctx.arc(avatarurl_width / 2 + avatarurl_x, avatarurl_heigth / 2 + avatarurl_y, avatarurl_width / 2, 0, Math.PI * 2, false)
    // 裁剪
    ctx.clip()
    // 绘制图片
    ctx.drawImage(this.data.postAvater, avatarurl_x, avatarurl_y, avatarurl_width, avatarurl_heigth)
    // 恢复之前保存的绘图上下文
    ctx.restore()
    

    2. 绘制4个像素的图片圆角

    // 图片的x坐标
    let bg_x = 10
    // 图片的y坐标
    let bg_y = 70
    // 图片宽度
    let bg_w = this.data.pageWidth - 116
    // 图片高度
    let bg_h = this.data.pageHeight * 0.35
    // 图片圆角
    let bg_r = 4
     
    // 绘制海报背景图片圆角
    ctx.save()
    ctx.beginPath()
    ctx.arc(bg_x + bg_r, bg_y + bg_r, bg_r, Math.PI, Math.PI*1.5)
    ctx.arc(bg_x + bg_w - bg_r, bg_y + bg_r, bg_r, Math.PI * 1.5, Math.PI * 2)
    ctx.arc(bg_x + bg_w - bg_r, bg_y + bg_h - bg_r, bg_r, 0, Math.PI * 0.5)
    ctx.arc(bg_x + bg_r, bg_y + bg_h - bg_r, bg_r, Math.PI * 0.5, Math.PI)
    ctx.clip()
    ctx.drawImage('../../../images/zbjd/tp1_2.png', bg_x, bg_y, bg_w, bg_h)
    // 恢复之前保存的绘图上下文
    ctx.restore()
  • 相关阅读:
    【SICP练习】80 练习2.52
    【SICP练习】79 练习2.51
    【SICP练习】78 练习2.50
    【SICP练习】77 练习2.48-2.49
    【SICP练习】76 练习2.47
    【SICP练习】75 练习2.46
    【SICP练习】74 练习2.45
    【SICP练习】73 练习2.44
    【SICP练习】72 练习2.43
    【SICP练习】71 练习2.42
  • 原文地址:https://www.cnblogs.com/zhang-jiao/p/12704246.html
Copyright © 2011-2022 走看看