Javascript高级编程学习笔记(85)—— Canvas(2)2D上下文

时间:2023-01-06 18:01:48

2D上下文

使用2D上下文提供的方法可以绘制简单的2D图形,如矩形,弧线和路径;

2D上下文的坐标开始域<canvas>元素的左上角,原点坐标为(0,0)

后续所有操作的计算都基于原点,x越大表示越靠右,y越大表示越靠下

此外<canvas>的width,height属性表示水平和垂直方向上可用像素点的数目

填充和描边

2D上下文的两种基本绘图操作是填充和描边.

填充就是用指定等样式(颜色,渐变,图像)填充目标图形

描边就是指在图形的边缘划线.

大多数的2D上下文的操作都会细分为填充和描边两个操作

而操作的结果取决于两个属性: fillStyle 和 strokeStyle

这两个属性的值可以是字符串,渐变对象或模式对象

并且它们的默认值都是 "#000000"

对于该值可以使用CSS中指定颜色的任何格式,包括颜色名,十六进制码.rgb,rgba,hsl或者hsla

以下方代码为例:

var drawing = document.getElementById("drawing");

// 验证浏览器对<canvas>的支持
if(drawing.getContext){
var context = drawing.getContext("2d");
context.strokeStyle = "red";
context.fillStyle = "#0000ff";
}

上述代码将 描边的颜色设置为红色,将填充的颜色设置为蓝色(#0000ff)

Javascript高级编程学习笔记(85)—— Canvas(2)2D上下文的更多相关文章

  1. Javascript高级编程学习笔记(94)—— Canvas&lpar;11&rpar; 合成

    合成 除了之前介绍的属性之外,还有两个属性会应用到整个2d上下文中; globalAlpha 用于指定所有绘制的透明度 globalComposition 用于表示后绘制的图形怎样与先绘制的图形进行结 ...

  2. Javascript高级编程学习笔记(93)—— Canvas&lpar;10&rpar; 模式及图像数据

    模式 模式其实就是重复的图像,用来填充或描边图形 要创建一个新模式,可以调用 createPattern()并传入两个参数 一个HTML img元素 用于表示如何重复的字符串 "repeat ...

  3. Javascript高级编程学习笔记(88)—— Canvas&lpar;5&rpar;绘制文本

    绘制文本 同样的,canvas也为绘制文本提供了相应的方法. 2D上下文提供的文本绘制方法主要有两个: fillText() strokeText() 这两个方法都接受四个参数 要绘制的文本字符串 绘 ...

  4. Javascript高级编程学习笔记(87)—— Canvas&lpar;4&rpar;绘制路径

    绘制路径 2D上下文支持许多在画布上绘制路径的方法 通过路径可以创造出复杂的形状和线条,要绘制路径首先必须调用beginPath()方法,表示开始绘制路径 然后再通过下列的方法绘制路径: arc(x, ...

  5. Javascript高级编程学习笔记(84)—— Canvas&lpar;1&rpar;基本用法

    Canvas绘图 Canvas自HTML5引入后,由于其炫酷的效果成为HTML5新增功能中最受欢迎的部分 Canvas元素通过在页面中设定一个区域,然后就可以使用JS在其中绘制图形 <canva ...

  6. Javascript高级编程学习笔记(95)—— WebGL&lpar;1&rpar; 类型化数组

    WebGL webgl 是针对 canvas 的 3D上下文,与其它Web技术不同,WebGL并非是W3C制定的标准,而是由 Khronos Group 制定的. 类型化数组 WebGL所涉及的复杂运 ...

  7. Javascript高级编程学习笔记(89)—— Canvas&lpar;6&rpar; 变换

    变换 通过上下文的变化,可以对图像进行处理后再将其绘制到画布上 当我们创建上下文时,会以默认值初始化变化矩阵,在默认的变换矩阵下所有处理都按描述直接绘制. 而当我们为上下文应用变换时,会导致使用不同的 ...

  8. Javascript高级编程学习笔记(90)—— Canvas&lpar;7&rpar; 绘制图像

    绘制图像 2D绘图上下文内置了对图像的支持 如果希望将一幅图绘制到画布上,可以使用 drawImage() 的方法 该方法有三种不同的参数数组合以对应不同的应用场景 将<img>绘制到画布 ...

  9. Javascript高级编程学习笔记(86)—— Canvas&lpar;3&rpar;绘制矩形

    绘制矩形 矩形是唯一一种可以直接在2D上下文中绘制的形状. 与矩形有关的方法包括: fillRect() strokeRect() clearRect() 上述方法都接收四个参数: 绘制矩形的 X 坐 ...

随机推荐

  1. nodemailer 发邮件

    var transporter = nodemailer.createTransport({//v1.0 above do not use 'SMTP' as first param host: &q ...

  2. Resizable 2th click not working

    here's a simple solution.  just destroy the resizable function, then rebuild it. try { $("#div& ...

  3. LeetCode&lowbar;N-Queens II

    Follow up for N-Queens problem. Now, instead outputting board configurations, return the total numbe ...

  4. Linux下的命令行上网

    对于网页浏览器现在大多数人用links/elinks,对了,还有个老牌一点的文本浏览器Lynx,links/elinks也是从Lynx中fork出来的. 以上所说的虽然能字符界面来浏览网页,但是不能显 ...

  5. PHP读取CSV大文件导入数据库的示例

    对于数百万条数据量的CSV文件,文件大小可能达到数百M,如果简单读取的话很可能出现超时或者卡死的现象. 为了成功将CSV文件里的数据导入数据库,分批处理是非常必要的. 下面这个函数是读取CSV文件中指 ...

  6. AI类人工智能产品经理的丛林法则

     AI是大家都很关注的领域,然而对于大部分想要入行的同学来讲,AI的算法技术门槛相对较高,让很多空有热血但是缺少数学背景的同学望而却步.不知道什么时候,可能是“人人都是产品经理”这个论调的影响,产品经 ...

  7. 10个鲜为人知的C&num;关键字

    在正式开始之前,我需要先声明:这些关键字对于偏向底层的程序员更加耳熟能详,对这些关键字不了解并不影响你作为一个合格的程序员. 这意味着这些关键字会让你在编写程序时得到更好的代码质量和可读性,enjoy ...

  8. 一张图了解cocos2d坐标系

    一张图了解cocos2d坐标系 平面直角坐标系

  9. Linux安装Gradle

    Linux安装Gradle   Gradle 是以 Groovy 语言为基础,面向Java应用为主.基于DSL(领域特定语言)语法的自动化构建工具.在github上,gradle项目很多,有的是gra ...

  10. QT编译错误:Project ERROR&colon; This example requires Qt to be configured with -opengl desktop

    学习QT场景视图,对一个Boxes的例子比较感兴趣,于是去编译学习,结果编译不能通过(使用的是QT5.12): Project ERROR: This example requires Qt to b ...