内容简介:< canvas > 元素创造了一个固定大小的画布,其上的渲染上下文若要在canvas上绘图,首先得获取示例
一. Canvas是啥
- < canvas > 是一个可以使用脚本(通常是js)来绘图的HTML元素
- < canvas > 最早由Apple引入WebKit,用于Mac OS X 的 Dashboard和 Safari
- 如今,所有主流的浏览器都支持它(IE9+,更低版本需引入Explorer Canvas来支持)
1. 开始画图(渲染上下文)
< canvas > 元素创造了一个固定大小的画布,其上的渲染上下文 CanvasRenderContext2D
,可以用来绘制和处理要展示的内容。
若要在canvas上绘图,首先得获取 CanvasRenderContext2D
2d渲染上下文。(此处指2d的,不谈webgl)
const canvas = document.getElementById('mycanvas');
const ctx = canvas.getContext('2d');
ctx.fillStyle = 'pink';
ctx.fillRect(10, 10, 300, 300);
示例
2. CanvasRenderContext2D的属性:
通过设置上下文的属性,可以指定绘图的样式。
所有属性如下:
| 属性 | 简介 |
|---|---|
| canvas | canvas元素 |
| fillStyle | 用来 填充 路径的当前的 颜色、模式或渐变 |
| font | 字体样式 |
| globalAlpha | 指定在画布上绘制的内容的不透明度 |
| globalCompositeOperation | 指定颜色如何与画布上已有的颜色组合(合成) |
| lineCap | 指定线条的末端如何绘制 |
| lineDashOffset | 设置虚线偏移量 |
| lineJoin | 指定两条线条如何连接 |
| lineWidth | 指定画笔(绘制线条)操作的线条宽度 |
| miterLimit | 当 lineJoin 属性为 "miter" 的时候,这个属性指定了斜连接长度和线条宽度的最大比率 |
| shadowBlur | 模糊效果程度 |
| shadowColor | 阴影颜色 |
| shadowOffsetX | 阴影水平偏移距离 |
| shadowOffsetY | 阴影垂直偏移距离 |
| strokeStyle | 用于画笔( 绘制 )路径的颜色、模式和渐变 |
| textAlign | 文本的对齐方式 |
| textBaseline | 文字垂直方向的对齐方式 |
3. Canvas宽高
- Canvas的宽高需要用属性值width,height来指定
- 若未指定,则Canvas 的默认大小为300×150
- 通过样式指定的宽高,只是canvas元素的显示大小,并不是绘图环境的大小
canvas {width: 1000px;height: 600px;}
<canvas id="mycanvas" width="1000" height="600"></canvas>
<canvas id="mycanvas1" width="500" height="300"></canvas>
<canvas id="mycanvas2"></canvas>
...
ctx.fillStyle = "red";
ctx.fillRect(10, 10, 100, 100);
宽高示例
为什么样式设置了同样大小,显示却截然不同的情况呢?
- canvas本身有两套大小:一个是 元素本身 大小,一个是 绘图表面 (drawing surface)的大小
- 如果通过width,height属性来设置,是同时修改了元素本身和绘图表面大小,
- 如果canvas元素的大小不符合绘图表面大小时,则会 对绘图表面进行缩放,使之符合元素本身大小 ,
- 无特殊需求,建议直接使用canvas的width和height就好
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持 码农网
猜你喜欢:- html5画布防止线宽缩放
- html5 – 画布中的矩形尺寸错误
- 微软为 Windows 10 Mail 应用新增触屏画布
- 熬夜总结了 “HTML5画布” 的知识点(共10条)
- javascript – 2D图形框架如Pixi.js如何使画布绘制更快?
- Token经济设计专家叶开:Token设计画布与10大设计模式
本站部分资源来源于网络,本站转载出于传递更多信息之目的,版权归原作者或者来源机构所有,如转载稿涉及版权问题,请联系我们。
An Introduction to the Analysis of Algorithms
Robert Sedgewick、Philippe Flajolet / Addison-Wesley Professional / 1995-12-10 / CAD 67.99
This book is a thorough overview of the primary techniques and models used in the mathematical analysis of algorithms. The first half of the book draws upon classical mathematical material from discre......一起来看看 《An Introduction to the Analysis of Algorithms》 这本书的介绍吧!
UNIX 时间戳转换
UNIX 时间戳转换
RGB HSV 转换
RGB HSV 互转工具