canvas的基本api和事件

本文介绍了HTML5的canvas基本API,包括如何使用JavaScript进行画图操作。接着讲解了canvas画图时的计算方法,例如在绘制折线图时如何计算坐标轴和点的位置。此外,还探讨了canvas的事件处理,由于canvas内部无法直接添加事件,需要通过获取事件对象坐标与canvas区域对比来实现。最后提到了一种替代方法,即使用DOM来替代canvas画布,以便于在动态画图时进行清除和处理。
摘要由CSDN通过智能技术生成

1 canvas基本api

HTML

<canvas id="canvas" width="800" height="600"></canvas>

JS

const canvas = document.getElementById("canvas"); // 获取画布
const ctx = canvas.getContext("2d"); // 获取2d画布环境
ctx.beginPath(); // 开始
ctx.moveTo(0, 0); // 画笔指定开始点 
ctx.lineTo(10,10); // 连接当前端点和指定的坐标点
ctx.font = '16px SimHei'; // 字体
ctx.lineWidth = 1; // 设置线宽
ctx.strokeStyle = "red"; // 设置线的颜色
ctx.stroke(); // 沿着绘制路径的坐标点顺序绘制直线

2 canvas画图计算

这次要画一个折线图需要计算的有:坐标轴,点(x,y)
在这里插入图片描述
首先计算坐标轴

// 假设这是我们获取的数据
const arr = [
    {
   key: '1月', mount: 100},
    {
   key: '2月', mount: 200},
    {
   key: '3月', mount: 250},
    {
   key: '4月', mount: 110},
    {
   key: '5月', mount: 500},
    {
   key: '6月', mount: 600},
];
// 获取画布的高宽
const cw = canvas.width;
const ch = canvas.height;
// 内边居
const padding = 80;
//原点,x终点,y终点
const origin = {
   x: padding, y: ch - padding};
const xAisa = {
   x: cw - padding, y: ch - padding};
const yAisa = {
   x
  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值