本文摘自PHP中文网,作者黄舟,侵删。
本篇主要讲,html5 canvas中图形的填充(filling)功能应用,主要包括基本颜色定义(Basic Colors)、渐变(Gradient)、图案(Pattern)、阴影(Shadow);先贴一个以下所有涉及到的实现运行的基本代码段:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 |
|
以下所有实例代码,只要把上面的function drawScreen()替换掉即可!
Basic Colors 基本颜色
html5 中支持用字符串来代替RGB值的颜色主要有Basic Colors:
black = #000000 green = #008000 silver = #C0C0C0 lime=#00FF00
gray = #808080 olive = #808000 white = #FFFFFF yellow = #FFFF00
maroon = #800000 navy = #000080 red = #FF0000 blue = #0000FF
purple = #800080 teal = #008080 fuchsia = #FF00FF aqua = #00FFFF
例如:context.fillStyle="#000000"; 或者context.fillStyle="black";
context.strokeStyle="#COCOCO"; 或者context.strokeStyle="silver";
Gradient 渐变
Gradient主要有两种:Linear gradients线型渐变、Radial gradients径向渐变;
线型渐变包括有Linear horizontal gradients水平渐变、Vertical gradients垂直渐变、Diagonal gradients对角线渐变;
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 |
|
实例效果:
context.createLinearGradient(x1,y1,x2,y2)该方法用于创建线向渐变对象,包括四个参数:渐变起始点的坐标(x1,y1),渐变结束点的坐标(x2,y2);
在上在例子中,.createLinearGradient(0,0,100,0);两个点的Y坐标都是0,表示是水平渐变;
若是.createLinearGradient(0,0,0,100);两个点的X坐标都是0,Y坐标在发生变化,则表示为垂直渐变;
若是.createLinearGradient(0,0,100,100);同表示对角线线向渐变;
.addColorStop(position,'rgb')该方法是为渐变添加颜色;包括二个参数:代表颜色要使用的位置(position),第二个代表颜色的rgb值;
其中,position值的范围是[0.0---1.0],我们可以理解为定义的渐变范围的一个百分比表示;
context.fillStyle用来设置填充颜色或者渐变风格;
Linear gradient渐变也可用于描边时使用,设置线框的风格即可:strokeStyle
1 2 3 4 5 6 7 8 9 10 |
|
径向渐变Radial gradients
径向渐变能过contect.createRadialGradient(x1,y1,radius1,x2,y2,radius2)来创建;
包括6个参数:两个圆的参数,第一个圆的圆心(x1,y1),半径radius1;第二个圆的圆心(x2,y2),半径radius2;
1 2 3 4 5 6 7 8 9 10 |
|
实例效果:
创建radial gradient渐变时,两个圆点也可以相同,大家自己试试效果。。嘿嘿!
radial gradient渐变也可用于描边时使用,设置线框的风格即可:strokeStyle
Pattern 图案
用图案填充形状,就是用图片来填充图形;
通过context.createPattern(image,repeat)来实现,两个参数,分别代表:图片实例、第二个是个字符串类型的,指是否重复;
repeat主要包含四个选项:repeat、repeat-x、repeat-y、no-repeat
1 2 3 4 5 6 7 8 9 10 11 |
|
实例效果(实例中包含的一上图片”pattern.png“):
其它的重复效果,大家自己试试,嘿嘿…………
Shadow投影效果
给图形添加投影效果。先看看实例吧;
1 2 3 4 5 6 7 8 9 10 |
|
Shadow主要用于四个属性:
context.shadowOffsetX :代表投影在X方向的偏移量,向正负分别代表,向右向左;大小代表偏移值;
context.shadowOffsetY :代表投影在Y方向的偏移量,向正负分别代表,向下向上;大小代表偏移值;
context.shadowBlur :代表投影模糊效果的大小
context.shadowColor:代表投影的颜色,rgb值("black"\"#000000"\"rgb(0,0,0)");
以上就是详解html5 Canvas drawing的示例代码(三)的详细内容,更多文章请关注木庄网络博客!
相关阅读 >>
更多相关阅读请进入《HTML5》频道 >>

Vue.js 设计与实现 基于Vue.js 3 深入解析Vue.js 设计细节
本书对 Vue.js 3 技术细节的分析非常可靠,对于需要深入理解 Vue.js 3 的用户会有很大的帮助。——尤雨溪,Vue.js作者