13518219792

建站动态

根据您的个性需求进行定制 先人一步 抢占小程序红利时代

创新互联百度小程序教程:canvas

canvas

解释:canvas 画布。可使用 JS 操作 canvas 上下文,发出指令,进行绘制。

创新互联主营行唐网站建设的网络公司,主营网站建设方案,成都app软件开发公司,行唐h5小程序开发搭建,行唐网站营销推广欢迎行唐等地区企业咨询

示例

代码示例

在开发者工具中打开

在开发者工具中打开

在 WEB IDE 中打开

 
 
 
 
 
 
  1. Page({
  2. onLoad() {
  3. const CanvasContext = this.createCanvasContext('myCanvas');
  4. CanvasContext.setFillStyle('#ff0000');
  5. CanvasContext.arc(100, 100, 50, 0, 2 * Math.PI);
  6. CanvasContext.fill();
  7. CanvasContext.draw();
  8. }
  9. });

我们来回顾一下,刚刚都执行了哪些指令:

1、创建绘图上下文

推荐使用 Page 对象上挂载的createCanvasContext方法,进行绘制上下文的创建:

 
 
 
  1. Page({
  2. onLoad () {
  3. const CanvasContext = this.createCanvasContext('myCanvas');
  4. }
  5. });

当然,也可以使用 SWAN 上挂载的createCanvasContext方法。如下,我们调用 SWAN 的接口createCanvasContext创建了一个绘制上下文。

注意:使用 SWAN 上挂载的 createCanvasContext ,会在当前用户可见的 Page 中寻找 canvas ,所以推荐 Page 对象上挂载的 createCanvasContext 方法。

 
 
 
  1. const CanvasContext = swan.createCanvasContext('myCanvas');

2、发送绘制指令

设置颜色,并画一个圆,填充。

 
 
 
  1. CanvasContext.setFillStyle('#ff0000');
  2. CanvasContext.arc(100, 100, 50, 0, 2 * Math.PI);
  3. CanvasContext.fill();

3、绘制
执行上面已经发出的指令,进行 canvas 绘制。

 
 
 
  1. CanvasContext.draw();

坐标系

canvas 坐标系,以左上角为(0, 0),横轴为 x,纵轴为 y。
如:CanvasContext.arc(100, 200, 50, 0, 2 * Math.PI);命令,就是在x: 100,y: 200为圆心处,开始画圆。

我们可以在 canvas 中加上一些事件,来观测它的坐标系。

代码示例:

在开发者工具中打开

在开发者工具中打开

在 WEB IDE 中打开

 
 
 
  1. style="margin: 5px; border:1px solid #d3d3d3;"
  2. bindtouchstart="start"
  3. bindtouchmove="move"
  4. bindtouchend="end" />
  5. Coordinates: ({{x}}, {{y}})
 
 
 
  1. Page({
  2. data: {
  3. x: 0,
  4. y: 0,
  5. hidden: true
  6. },
  7. start(e) {
  8. this.setData({
  9. hidden: false,
  10. x: e.touches[0].x,
  11. y: e.touches[0].y
  12. })
  13. },
  14. move(e) {
  15. this.setData({
  16. x: e.touches[0].x,
  17. y: e.touches[0].y
  18. })
  19. },
  20. end(e) {
  21. this.setData({
  22. hidden: true
  23. })
  24. }
  25. });

常见问题

Q:小程序页面头部可否支持渐变色?

A:使用 navigationBarBackgroundColor 无法做到渐变色的效果,可以选择使用透明框,新增返回按钮,然后进行设置。或将 navigationStyle 设置成 custom,在全屏页面中制作导航栏,自定义背景色。

代码示例

在开发者工具中打开

在开发者工具中打开

在 WEB IDE 中打开

 
 
 
  1. 内容
 
 
 
  1. Page({
  2. onLoad() {
  3. const canvasContext = this.createCanvasContext('myCanvas');
  4. const grd = canvasContext.createLinearGradient(0, 0, 200, 200);
  5. grd.addColorStop(0, 'blue');
  6. grd.addColorStop(1, 'red');
  7. canvasContext.setFillStyle(grd);
  8. canvasContext.fillRect(0, 0, 800, 100);
  9. canvasContext.draw();
  10. }
  11. });

网站题目:创新互联百度小程序教程:canvas
链接URL:http://cdbrznjsb.com/article/dpcsdph.html
  • 网站建设专属方案

  • 网站定制化设计

  • 7X24小时服务

  • N对管家服务

让你的专属顾问为你服务