HTML5逐步实现
2015-08-17 12:35
573 查看
渐变
Context对象能够通过createLinearGradient()和createRadialGradient()两个方法创建渐变对象。这两个方法的原型例如以下:Object createLinearGradient(x1, y1, x2, y2);
创建一个从(x1, y1)点到(x2, y2)点的线性渐变对象。
Object createRadialGradient(x1, y1, r1, x2, y2, r2);
创建一个从以(x1, y1)点为圆心、r1为半径的圆到以(x2, y2)点为圆心、r2为半径的圆的径向渐变对象。
渐变对象创建完毕之后必须使用它的addColorStop()方法来加入颜色,该方法的原型例如以下:
void addColorStop(position, color);
当中position表示加入颜色的位置。取值范围为[0, 1],0表示起点,1表示终点;color表示加入的颜色,取值能够是不论什么CSS颜色值。
渐变对象创建并配置完毕之后就能够将其赋予Context对象的strokeStyle属性或者fillStyle属性,然后绘制的图形就具有了所需的渐变效果。
那咱们一起看一下以下这个样例:
<!DOCTYPE html><html> <head> <meta charset="utf-8"> <title></title> <style type="text/css"> canvas{ left: 50%; position:relative; margin-left: -200px; top; } </style> </head> <body> <canvas id="drawDiagonal" width="400" height="500" style="border: 1px solid #008B8B;"></canvas> </body> <script type="text/javascript"> var canvas=document.getElementById('drawDiagonal'); var cd=canvas.getContext('2d'); cd.save(); cd.translate(-10,350); cd.beginPath(); cd.moveTo(0,0); cd.quadraticCurveTo(170,-80,260,-190); cd.quadraticCurveTo(310,-250,410,-250); cd.strokeStyle='#663300'; cd.lineWidth=50; cd.stroke(); cd.restore(); var lg = cd.createLinearGradient(80,220,240, 200); //能够尝试改变这里的參数。改变不同的效果。 lg.addColorStop(0, 'yellow'); lg.addColorStop(0.9, '#3CB371'); lg.addColorStop(1,'#2E8B57'); cd.fillStyle=lg;//把设置好的颜色值附给cd cd.strokeStyle ='yellowgreen'; cd.lineWidth=4; cd.lineJoin='round' cd.beginPath(); cd.moveTo(200,40); cd.lineTo(160,100); cd.lineTo(185,100); cd.lineTo(145,160); cd.lineTo(170,160); cd.lineTo(135,220); cd.lineTo(180,220); cd.lineTo(170,320); cd.lineTo(235,320); cd.lineTo(220,220) cd.lineTo(260,220); cd.lineTo(225,160); cd.lineTo(250,160); cd.lineTo(210,100); cd.lineTo(235,100); cd.closePath(); cd.fill(); cd.stroke(); </script></html>
其效果例如以下图所看到的:
大家试图去尝试一点点!
在没有明确的地方是能够相互沟通.
相关文章推荐
- HTML5 手机摇一摇实现
- 极客学院HTML5全套教程
- 解决IE兼容模式问题
- HTML5表单与PHP交互
- Html5 Canvas笔记(3)-Canvas状态
- html5中的clip
- html5存储笔记(慕课网)
- html5中的beginPath与stroke
- html5新特性总结
- HTML5表单
- Web开发者不容错过的10个HTML5工具
- 【坑】html5-canvas中使用clip抠出一个区域
- HTML5列表、块、布局
- 基于火狐和谷歌浏览器的html5调用摄像头
- html5的UI框架
- 【实例】html5-canvas绘制线段、矩形和圆
- html5 说明
- 【学习Egret】第一个H5小游戏,人人来打产品汪
- 基于Html5缓存的页面P2P技术可行性探讨
- H5实现支付宝的集成