• 设为首页
  • 点击收藏
  • 手机版
    手机扫一扫访问
    迪恩网络手机版
  • 关注官方公众号
    微信扫一扫关注
    公众号

关于微信小程序前端Canvas组件教程

原作者: [db:作者] 来自: [db:来源] 收藏 邀请

关于微信小程序前端Canvas组件教程

微信小程序Canvas接口函数








​ 上述为微信小程序Canvas的内部接口,通过熟练使用Canvas,即可画出较为美观的前端页面。下面是使用微信小程序画图的一些例子。

微信小程序画图实例

基本步骤

wxml中代码:

 <canvas canvas-id="myCanvas" class="myCanvas" ></canvas>

js中onLoad()函数

const ctx = wx.createCanvasContext(\'myCanvas\')//创建Canvas
ctx.setFillStyle(\'green\')//选择填充颜色
ctx.fillRect(10, 10, 150, 75)//形状描述
ctx.draw()//绘制图像

路径的画法:

const ctx = wx.createCanvasContext(\'myCanvas\')//创建Canvas
ctx.moveTo(10, 10)//初始点选择
ctx.lineTo(100, 10)//画线
ctx.lineTo(100, 100)
ctx.fill()//填充形状
ctx.draw()

文字的画法:

const ctx = wx.createCanvasContext(\'myCanvas\')
 
ctx.setFontSize(20) //文字大小
ctx.fillText(\'Hello\', 20, 20) //文字后跟的参数为文字启示坐标
ctx.fillText(\'MINA\', 100, 100)
 
ctx.draw()

圆角矩形的画法

const bot = wx.createCanvasContext(\'bottcan\')

bot.moveTo(0, 0)
bot.lineTo(wid / 2 - 15, 0)
bot.lineTo(wid / 2 + 15, 35)
bot.lineTo(10, 35)
bot.arc(0 + 10, 35 - 10, 10, Math.PI * 0.5, Math.PI)//勾画圆角矩形的线段
bot.setFillStyle(\'#FF9955\')
bot.fill()
bot.setFillStyle(\'#414141\')
bot.setFontSize(20)
bot.fillText(\'重填问卷\', 50, 25)

按照手机比例画图方法

​ 在生成Canvas的时候,需要固定宽度和高度,其中高度比较好固定,但是宽度的固定就比较困难,因为不同手机型号宽度不同,因此需要得知本机可使用宽度为多少。

<canvas canvas-id="myCanvas" class="myCanvas"  style = "width:{{windowWidth}}px;height:35px" ></canvas>
var that = this;
    wx.getSystemInfo({
      success: function (res) {
        console.log(res.windowWidth) //获取用户手机宽度
        that.setData
          ({
            windowWidth: res.windowWidth * 0.94
          })

      }
    })

    var wid = this.data.windowWidth;

微信小程序层级问题

​ 在微信小程序中,Canvas这种默认组件的层级为最高,因此在弹出确认与否的提示时,Canva会影响使用,用户无法点击确认或取消,只能点击Canvas按钮,因此需解决该问题。

解决方案

​ 在点击出现选择框时,将Canvas隐藏,并且生成一张与原始画布相同的图片放在该位置,从而达到降低Canvas层级的效果。

js代码:

//radaarImg为导出的图片
var that = this
wx.canvasToTempFilePath({
    width: that.data.windowWidth,
    height: 35,
    canvasId: \'myCanvas\',
    success: function (res) {
        that.setData({ radarImg: res.tempFilePath });
    }
});

wxml代码:

<view wx:if = "{{!can1}}">
     <canvas canvas-id="myCanvas" class="myCanvas"  style = "width:{{windowWidth}}px;height:35px" ></canvas>
    </view>
    <image wx:else src="{{radarImg}}" style="width: {{windowWidth}}px; height:35px;" />

效果展示:


鲜花

握手

雷人

路过

鸡蛋
该文章已有0人参与评论

请发表评论

全部评论

专题导读
上一篇:
微信小程序 | canvas绘图发布时间:2022-07-18
下一篇:
微信小程序canvas生成并保存图片发布时间:2022-07-18
热门推荐
阅读排行榜

扫描微信二维码

查看手机版网站

随时了解更新最新资讯

139-2527-9053

在线客服(服务时间 9:00~18:00)

在线QQ客服
地址:深圳市南山区西丽大学城创智工业园
电邮:jeky_zhao#qq.com
移动电话:139-2527-9053

Powered by 互联科技 X3.4© 2001-2213 极客世界.|Sitemap