小程序Canvas 画刻度

本文介绍如何在小程序中使用canvas技术绘制刻度尺,包括axml布局、acss样式和js逻辑实现,欢迎交流优化建议。
摘要由CSDN通过智能技术生成

canvas是前端工作中不可少的一部分,那么今天就用小程序的canvas画一次刻度尺,希望大家喜欢,同事有更好意见的,也可以在评论去留言哦!

1、axml

<view>
   <canvas id="canvas" class="canvas" onTouchStart="start" onTouchMove="move" onTouchEnd="end" />
</view>

2、acss

.canvas {
  width: 100%;
  height: 100px;
  margin-top: -25px;
}

3、js

let _this;
let unitLine = 10;
// 中刻度线的长度
let middleUnitLine = 15;
// 长刻度线的长度
let longUnitLine = 20;
// 中间线的长度
let centerLine = 50;
// 刻度的单位
let unit = 1000;
// 刻度的间距
let spacing = 10;
// 最大值
let max = 50000;
// 停止后的值
let sum;
let _arr = []
Page({
  data: {
  },
  //  刻度部分
  onReady() {
    _this = this;
    this.context = my.createCanvasContext('canvas');
    this.x = 0;
    this.a = 0;
    // 获取宽高    
    my.getSystemInfo({
      success: function (res) {
       
  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
微信小程序罗盘动可以通过使用小程序的动 API 来实现。以下是一个简单的实现方式: 1. 在小程序页面的 wxml 文件中添加一个 canvas 元素,用于绘制罗盘: ```html <canvas canvas-id="compass" style="width: 100%; height: 100%;"></canvas> ``` 2. 在小程序页面的 js 文件中获取 canvas 元素并创建一个绘图上下文对象: ```javascript const ctx = wx.createCanvasContext('compass'); ``` 3. 在小程序页面的 js 文件中添加一个罗盘图片,用于绘制罗盘指针: ```javascript const compassImg = '/images/compass.png'; ``` 4. 在小程序页面的 js 文件中定义一个罗盘指针的角度变量: ```javascript let angle = 0; ``` 5. 在小程序页面的 js 文件中定义一个绘制罗盘的函数: ```javascript function drawCompass() { // 绘制罗盘图片 ctx.drawImage(compassImg, 0, 0, canvasWidth, canvasHeight); // 绘制罗盘指针 ctx.translate(canvasWidth / 2, canvasHeight / 2); ctx.rotate(angle * Math.PI / 180); ctx.drawImage(compassPointerImg, -canvasWidth / 2, -canvasHeight / 2, canvasWidth, canvasHeight); ctx.rotate(-angle * Math.PI / 180); ctx.translate(-canvasWidth / 2, -canvasHeight / 2); // 绘制罗盘刻度 // ... } ``` 6. 在小程序页面的 js 文件中定义一个旋转罗盘指针的函数: ```javascript function rotateCompass(angleDiff) { angle += angleDiff; if (angle < 0) { angle += 360; } else if (angle >= 360) { angle -= 360; } } ``` 7. 在小程序页面的 js 文件中定义一个定时器,在定时器中调用绘制罗盘函数并旋转罗盘指针: ```javascript setInterval(() => { drawCompass(); rotateCompass(1); }, 50); ``` 通过以上步骤,即可实现一个简单的微信小程序罗盘动。当然,还可以根据需求对罗盘进行更多的美化和功能扩展。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值