Canvas基础知识

news/2024/7/1 5:56:56

Canvas

创建canvas

<canvas id="canvas"></canvas>
  • 一般都要存在ID

  • width和height建议直接在<canvas>中直接设定,不要使用css的方式去设定长和高,并且其是没有px单位的,因其也表示精度

  • width和height还可以使用JS的方式进行设定,在Element对象中存在width和height属性,可以进行设定

获取Canvas对象

var canvas=document.getElementById("canvas");
var context= canvas.getContext();

context就是canvas对象,接下来都是对其进行操作

设置width和height

 canvas.width = 1024;canvas.height = 768;

直线

context.strokeStyle="#005588";//设置颜色,red这种方式也是可以的
context.lineWidth=5;//线宽
context.moveTo(100,100);//表示画笔的起点坐标
context.lineTo(700,700);//表示下一笔的坐标
context.lineTo(1000,700);//表示下一笔的坐标
context.stroke();//绘制线条

多边形

context.fillStyle="rgb(2,100,30)";//颜色
context.moveTo(100,100);//表示画笔的起点坐标
context.lineTo(700,700);//表示下一笔的坐标
context.lineTo(1000,700);//表示下一笔的坐标
context.fill();
context.fillStyle="rgb(2,100,30)";//颜色
context.arc( x , y , RADIUS , 0 , 2*Math.PI,false )//画圆,参数依次:横坐标,纵坐标,半径,画圆起点,画圆终点,是否为顺时针方向画圆
context.fill();

fill()会将颜色填充

开始和结束

context.fillStyle="rgb(2,100,30)";//颜色
context.moveTo(100,100);//表示画笔的起点坐标
context.lineTo(700,700);//表示下一笔的坐标
context.lineTo(1000,700);//表示下一笔的坐标
context.fill();
context.strokeStyle="#005588";//设置颜色,red这种方式也是可以的
context.lineWidth=5;//线宽
context.moveTo(100,100);//表示画笔的起点坐标
context.lineTo(700,700);//表示下一笔的坐标
context.lineTo(1000,700);//表示下一笔的坐标
context.stroke();//绘制线条

这代码显示的结果,其实不是我们想的那样,其实还是存在一些问题,因fill()上方的路径状态还是存在有效的,所以为了解决这个问题,引入了beginPath()closePath()

  • beginPath():开始路径,表示画笔状态的开始

  • closePath():结束路径,结束一个路径,如果路径不是封闭的,会将其变为封闭

清除

 context.clearRect(0,0,1024, 768);

参数表示清除的坐标范围


http://lihuaxi.xjx100.cn/news/284473.html

相关文章

百度SLG拿下前锤子科技CTO钱晨,还要合并小鱼在家? | 极客头条

点击上方↑↑↑蓝字关注我们~「2019 Python开发者日」全日程揭晓&#xff0c;请扫码咨询 ↑↑↑整理 | 一一出品 | AI科技大本营&#xff08;id&#xff1a;rgznai100&#xff09;2016 年 7 月&#xff0c;锤子科技前 CTO 钱晨从该公司退休的消息被证实&#xff0c;关于其离职的…

如何使用 Cockpit 管理你的树莓派

在这篇文章中&#xff0c;我将会介绍如何在树莓派基金会提供的标准操作系统树莓派 OS 上安装用于 Linux 服务器的 Cockpit Web 控制台。我还会简要介绍它的特性。用 Cockpit 建立你的树莓派的控制中心。 去年&#xff0c;我写了关于使用 Cockpit 管理我的 Linux 服务器的文章。…

卷积神经网络之 - 残差⽹络(RESNET)

本文建议阅读时间 8 min本文作者&#xff1a;铜豌豆 & Leong残差神经网络 (ResNet) 是由微软研究院的何恺明、张祥雨、任少卿、孙剑等人提出的。ResNet 在 2015 年的 ILSVRC&#xff08;ImageNet Large Scale Visual Recognition Challenge&#xff09;中取得了图像分类、检…

首发 | 13篇京东CVPR 2019论文!你值得一读~ 技术头条

点击上方↑↑↑蓝字关注我们~「2019 Python开发者日」全日程揭晓&#xff0c;请扫码咨询 ↑↑↑编者按&#xff1a;计算机视觉和模式识别大会 CVPR&#xff08;Conference on Computer Vision and Pattern Recognition&#xff09;作为人工智能领域计算机视觉方向的重要学术会议…

shiro框架的使用及扩展

2019独角兽企业重金招聘Python工程师标准>>> 管理后台的权限管理模块搭建中使用了shiro框架。 shiro的优点是&#xff1a;相对Spring Security较为轻巧&#xff0c;使用起来自由度大&#xff0c;和Spring框架结合的方式也很成熟。缺点是&#xff1a;shiro本身没实现…

教你用 buildroot 构建根文件系统

如果想要构建完整的根文件系统&#xff0c;大家一般都是使用buildroot&#xff0c;它不仅包含了 busybox 的功能&#xff0c;而且里面还集成了各种软件&#xff0c;需要什么软件就选择什么软件&#xff0c;不需要我们去移植。 嵌入式系统三大部分&#xff1a;bootloader(uboot)…

字节跳动的面试题.pdf

来源&#xff1a;https://zhuanlan.zhihu.com/p/82871762一、算法题一面&#xff1a;1. lc 里最长上升子序列的变形题2. 实现输入英文单词联想的功能二面&#xff1a;1.矩阵旋转&#xff0c;要求空间复杂度 O(1)2.无序的数组的中位数。要求时间复杂度尽可能的小二、计算机网络…

回顾与展望:大热的AutoML究竟是什么? | 技术头条

点击上方↑↑↑蓝字关注我们~「2019 Python开发者日」全日程揭晓&#xff0c;请扫码咨询 ↑↑↑来源 | 第四范式编者按&#xff1a;AutoML&#xff08;Automatic Machine Learning&#xff0c;自动机器学习&#xff09;旨在研究在没有专业知识的情况下使用的低门槛甚至零门槛的…