<!DOCTYPE html><!--这行必须要,否则在IE9中也不会起作用-->
<html>
<head>
<title>Canvas element size: 600 x 300, Canvas drawing surface size: 600 x 300</title>
<style>
<!--这处通过CSS设置的属性有些可以直接影响到绘图效果的,比如padding等这样就可以省去了一些背景的设置等操作,只不过这样的背景是不可移动的-->
#canvas {
margin: 10px;
padding: 10px;
background: #fff;<!--canvas的背景色是由css来定义的,canvas本身并没有提供bg属性-->
border: thin inset #aaaaaa;
}
</style>
</head>
<body>
<!--这里的宽和高不要在CSS中指定,因为canvas存在两个大小,在css中设置并不能改变画布的大小,图像会变形, canvas默认绘图大小是300*150px,可以通过canvas标签属性来指定(可以用非负数也可以用px,用百分比时需要参考父元素的大小),也可以通过js来指定。-->
<canvas id='canvas' width='600' height='300'>
Canvas not supported
</canvas>
<script src='example.js'></script>
</body>
</html>
<script>
var canvas = document.getElementById("canvas");
var context = canvas.getContext("2d");<!--这处的context有很多属性,它是CanvasRenderingContext2D的实例-->
canvas.width = 300;<!--这行代码在放在输出代码的前面,它会重设环境附带着清空功能,也意味着其不能实现全屏化功能-->
context.fillStyle ="red";
context.strokeStyle = "blue";
context.font = "32PT Arial ";
context.fillText("Hello World", 20, 20);
context.strokeText("wello World", 100, 100);
</script>
<!--context属性*******************
canvas 指向绘图环境所属的canvas
fillstyle 图形填充操作中所使用的颜色、渐变色、图案context.fillStyle = 'cornflowerblue';
font 在用fillText()和strokeText()时所使用的字体context.font = '38pt Arial';
globalAlpha 全局透明度,取值0-1.0
globalCompsiteOperation 指定了浏览器将某个物体绘制在其他物体之上时,所采用的绘图方式
lineCap 指定线段的端点样式,默认为butt,还有其它两个可选值:round和square
lineWidth 默认值为1.0,在canvas中只能画实线,其它的线类型需要自己扩展
lineJoin 线段相交时的样式,默认为miter,可选值bevel,round,可用来绘制圆角矩形。
miterLimit 如何绘制miter形式的线段焦点
shadowBlur 默认为0,表示如何延伸阴影效果
shadowColor 阴影的颜色,默认为半透明效果
shadowOffsetX 单位px,指定了阴影效果的水平方向偏移量
shadowOffsetY
strokeStyle 描边设定,可指定颜色、渐变色、图案
textAlign 用fillText()和strokeText()时文本的水平对齐
textBaseLine 用fillText()和strokeText()时文本的垂直对齐
-->
<!--利用浏览器的插件来测试代码片断的性能,这个功能需要借助类似firebug这样的插件来完成,但下面的两个API并不是所有浏览器都支持
console.profile(""); console.profileEnd();
-->
<!--以下功能是2012年后发布的标准,不是所有浏览器都支持
** ellipse();//绘制椭圆
** getLineDash(), setLineDash()//绘制虚线
** 扩充了TextMetrics对象,用于精确指定文本的外接矩形框
** 定义了Path对象,相对的stroke()支持Path参数
** 定义了CanvasDrawingStyles绘制风格属性
** 点击区域hit region的支持
** Canvas的焦点支持
** ** 更多特性可以在http://cordhtml5canvas.com来查阅这些新功能** **
-->
<!--
**canvas绘制要经过以下几步,第【2】-【4】步只有启动阴影效果时才会运行,所以非必要情况下不要使用shadow效果,尤其是动画阴影**
【1】将图形绘制到一个无限大的透明位图中(canvas是一个位图),在绘制时遵从当前的填充、描边、线条样式;
【2】将图形的阴影绘制到另外一幅位图中,在绘制时使用当前绘图环境的阴影设定;
【3】将阴影中每一个px的alpha分量乘以绘图环境对象的globalAlpha属性值;
【4】将绘有出阴影的位图与经过剪辑区域剪切过的canvas进行合成时,在操作时使用当前合成参数;
【5】将图形的每一个px分量乘以绘图环境的globalAlpha属性值;
【6】将绘有图形的位图,合成到当前经过剪辑区剪切过的canvas位图上时,在操作时使用当前合成参数;
-->
Canvas概述01
原创
©著作权归作者所有:来自51CTO博客作者生而为人我很遗憾的原创作品,请联系作者获取转载授权,否则将追究法律责任
上一篇:研发效能度量实践
下一篇:基本图形绘制API2
提问和评论都可以,用心的回复会被更多人看到
评论
发布评论
相关文章
-
01-docker技术概述、容器管理命令、镜像管理命令
docker管理命令、容器管理命令
docker kylin linux -
01-zabbix安装
centos7上面部署zabbix
mysql vim php -
JVM01 - 概述
目录1.JVM整体结构2.Java代码执行流程3.JVM的生命周期3.1 虚拟机的启动3.2 虚拟机的执行3.3 虚拟机的退出1.JVM整体结构 JVM是Java Virtual Machine的
java虚拟机 java 本地方法 java语言 加载 -
Dubbo01【概述】
Apache Dubbo (incubating) |ˈdʌbəʊ| 是一款高性能、轻量级的开源Java RPC框架,它提供了三大核心能
dubbo 概述 ide spring 服务端 -
01-jquery概述
jQuery是一个快速的,简洁的javaScript库,使用户能更方便地处理HTML documents、events、实现动画效果,并且方便地为网站提供AJAX交互。
javascript jquery jqueryui dom html5