canvas初探2
2.2 canvas的绘图环境
canvas仅仅只是一个绘图的容器,其内存在一个绘图环境,该环境对象提供了全部的绘图功能。
目前canvas的绘图环境是2d,但canvas规范在着手准备支持其他类型的绘图环境,例如,3d绘图——WebGL。
2d绘图环境
调用2d绘图环境的代码,
canvas.getContext("2d");
2d绘图环境的属性
| 属性 | 简介 |
| canvas | 指向该绘图环境所属的canvas对象。该属性常见的用途就是获取canvas的宽度和高度,分别调用context.canvas.width与context.canvas.height。 |
| fillstyle | 指定该绘图环境在后续的图形填充操作中所使用的颜色、渐变色或图案 |
| font | 设定在调用绘图环境对象的fillText()或strokeText()方法时所使用的字体 |
| globalAlpha | 全局透明度设定,它可以取0(完全透明)~1.0(完全不透明)之间的值。浏览器会将每个像素的Alpha值与该值相乘,在绘制图像时也是如此。 |
| globalCompsiteOperation | 该值决定了浏览器将某个物体绘制在其他物体之上时,所采用的绘制方式。 |
| lineCap | 该值告诉浏览器如何绘制线段的端点。可以指定以下3个值中的任意一个:butt、round、square。默认为butt |
| lineWidth | 该值决定了在canvas中绘制的线段的屏幕像素宽度。它必须是一个非负、非无穷的double值。默认为1.0 |
| lineJoin | 告诉浏览器在两条线段相交时如何绘制焦点。可取值:bevel、round、miter(默认值)。 |
| miterLimit | 告诉浏览器如何绘制miter形式的线段焦点 |
| shadowBlur | 该值决定了浏览器该如何延伸阴影效果。值越高,阴影效果延伸的越远。该值不是指阴影的像素长度,而是代表高斯模糊(Gaussian blur)方程式中的参数值。它必须是一个非负非无穷量的double值,默认为0 |
| shadowColor | 该值告诉浏览器使用何种颜色绘制阴影。通常使用半透明色作为该属性的值,以便让后面的背景能显示出来 |
| shadowOffsetX | 以像素为单位,指定阴影效果的水平方向偏移量 |
| shadowOffsetY | 以像素为单位,指定阴影效果的垂直方向偏移量 |
| strokeStyle | 指定了对路径进行扫描所用的绘图风格。该值可被设定为某个颜色、渐变色或图案 |
| textAlign | 决定了以fillText()或strokeText()方法进行绘制时,所画文本的水平对齐方式 |
| textBaseline | 决定了以fillText()或strokeText()方法进行绘制时,所画文本的垂直对齐方式 |
3d绘图环境——WebGL
它是一种3D绘图标准,这种标准允许把JavaScript和OpenGL ES 2.0结合在一起,让WebGL可以为HTML5 canvas提供硬件3D加速渲染,开发人员可以借助系统显卡在浏览器里更加流畅地展示3D场景和模型,还可以创建复杂的导航和数据视觉化。
由于还是一菜鸟,还没学到WebGL,所以在此就不详述了。
canvas初探2的更多相关文章
- canvas初探3:画方画圆
绘制矩形的方法,strokeRect().fillRect()及clearRect(). 方法 描述 strokeRect(double x,double y,double w,double h) 使 ...
- canvas初探1
刚申请的博客,当然这也是第一篇.对于canvas也是刚开始着手进行学习,有哪些不对的地方,还望看到本篇博文的朋友指正. 1.canvas的历史 首先,它是HTML5的一个标签. 它是为了客户端矢量图形 ...
- HTML5 Canvas 初探
仅仅只是一个简单的hello world. js代码很简单: <!DOCTYPE HTML> <html lang="cn"> <head> & ...
- Web基础 HTML CSS JS JQuery AJAX
1. Web基础 网页的骨骼HTML 什么是HTML超文本标记语言:Hyper Text Markup Language 这都不重要,重要的是:HTML是Web网页的基本组成部分HTML中定义的元素, ...
- 初探canvas
canvas是html5新增的一个专用于图形处理的标签,利用canvas可以实现大部分图形操作canvas的一些基本操作与其他图形编程工具类似,包含:各种形状的边框.路径绘制和填充,画布属性调整,样式 ...
- Canvas标签初探
学了一点基础知识,感觉好神奇,全部练习代码 <html> <head> <meta http-equiv=Content-Type content="text/ ...
- 初探Javascript之Canvas
什么是Canvas <canvas>是 HTML5 新增的元素,可使用JavaScript脚本来绘制图形. canvas是一个矩形区域,您可以控制其每一像素. 引入Canvas ```ht ...
- ReactNative学习实践--动画初探之加载动画
学习和实践react已经有一段时间了,在经历了从最初的彷徨到解决痛点时的兴奋,再到不断实践后遭遇问题时的苦闷,确实被这一种新的思维方式和开发模式所折服,react不是万能的,在很多场景下滥用反而会适得 ...
- Android中滑屏初探 ---- scrollTo 以及 scrollBy方法使用说明
今天给大家介绍下Android中滑屏功能的一个基本实现过程以及原理初探,最后给大家重点讲解View视图中scrollTo 与 scrollBy这两个函数的区别 . 首先 ,我们必须明白在Android ...
随机推荐
- Vue.js 快速入门
什么是Vue.js vue是法语中视图的意思,Vue.js是一个轻巧.高性能.可组件化的MVVM库,同时拥有非常容易上手的API.作者是尤雨溪,写下这篇文章时vue.js版本为1.0.7 准备 我推荐 ...
- jQuery简单倒计时插件
一. 效果预览 二. 实现 1. 按照特定的类结构布局. 2. 需要先引入jQuery,再引入此文件. /** * Author: CC11001100 * * 简单倒计时 * * 1. 支持页面内同 ...
- 第一次使用UML的感觉
刚开始接触的时候,其实我内心是拒绝的,因为感觉这种软件之前接触过,觉得就是相当于思维导图那种的. 可当自己使用的时候,觉得大纲总体上是类似是规划方向的,可是细节却让人深思,用什么图标,特别是用什么线, ...
- Foreach 原理
public class Person { private string[] friends = { "asf", "ewrqwe", "ddd&qu ...
- ***Linux下使用git命令及github项目
在linux下搭建git环境1.创建Github账号,https://github.com2.Linux创建SSH密钥: ssh-keygen ##一直默认就可以了 3.将公钥加入到Github账户 ...
- Java 之 异常处理
1.异常: a.问题(Throwable):异常(Exception).错误(Error) 异常(Exception):运行时异常(RuntimeException).编译时异常(Unhandle ...
- SVN
你先在本地把包删了,然后提交上级目录就可以了.比如你要删除com.aaa.A这个类.你就把A删了,然后提交aaa就行,如果你要把aaa包删了,你就删了以后提交com这个包.SVN就删掉了 svn提交更 ...
- tp中使用分页技术
1 public function showList() { $m_ld = D ( 'guangxi_ld' ); $page = I ( 'get.p', 1 ); // 在配置中获取分页值 $p ...
- 【转】oracle中rowid的用法 (全面)
ROWID是数据的详细地址,通过rowid,oracle可以快速的定位某行具体的数据的位置. ROWID可以分为物理rowid和逻辑rowid两种.普通的堆表中的rowid是物理rowid,索引组织表 ...
- ehcache注解全面解析---打酱油的日子
通过ehcache以编程方式使用缓存: 跟上面的方式相同,但是缓存通过ehcache去管理,当然比使用map有N多种好处,比如缓存太大了快达到上限之后,将哪一部分缓存清除出去.这种方式完全是通过代码的 ...