canvas系类-非零坏绕原则(二)制作剪纸效果
来源:互联网 发布:java get post 编辑:程序博客网 时间:2024/04/27 13:56
根据canvas系类-非零坏绕原则(一),我们可以制作出剪纸的效果:
分析此图:要得到内图形没有填充的效果,需要最后结果为0,所以我们把外矩形采用顺时针的方向绘制,那矩形内的图形都得采用逆时针绘制,这样就可以。
<!DOCTYPE html><html><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8"></head><body><canvas id="canvas"></canvas><script type="text/javascript">//1.获取canvas上下文,var dom=document.getElementById("canvas");canvas.width=800;canvas.height=800;varctx=dom.getContext('2d');//获取canvas上下文的内容ctx.beginPath();ctx.rect(100,100,600,600);drawrect(ctx,200,200,400,200);// 逆时针。drawTriangle(ctx,200,450,200,600,300,500,400,600,400,450);ctx.arc(550,550,100,0,Math.PI*2,true);//False = 顺时针,true = 逆时针。ctx.closePath();ctx.fillStyle="#058";ctx.shadowColor="gray";ctx.shadowOffsetX=10;ctx.shadowOffsetY=10;ctx.shadowBlur=10;ctx.fill();//矩形function drawrect(ctx,x,y,width,height){ctx.moveTo(x,y);ctx.lineTo(x,y+height);ctx.lineTo(x+width,y+height);ctx.lineTo(x+width,y);ctx.lineTo(x,y);}//特殊形状function drawTriangle(ctx,x1,y1,x2,y2,x3,y3,x4,y4,x5,y5){ctx.moveTo(x1,y1);ctx.lineTo(x2,y2);ctx.lineTo(x3,y3);ctx.lineTo(x4,y4);ctx.lineTo(x5,y5);ctx.lineTo(x1,y1);}</script></body></html>
0 0
- canvas系类-非零坏绕原则(二)制作剪纸效果
- 剪纸效果制作
- canvas系类-非零坏绕原则(一)
- 使用canvas制作刮刮卡效果(1)
- canvas 制作时钟效果
- 2.7.2_剪纸效果
- 剪纸
- HTML5 Canvas 制作水波纹效果
- 离屏Canvas——制作放大镜效果
- Canvas制作圆形进度条Loading效果
- 用canvas 制作一个冒泡效果
- Android UI效果之绘图篇(二):Canvas
- Android UI效果之绘图篇(二):Canvas
- hrbust1828 剪纸条(DP)
- 如何使用 HTML5 Canvas 制作水波纹效果
- HTML5 canvas绘图制作打击视频玻璃破碎动画效果
- canvas学习(二)
- Canvas基础(二)
- Express实现Session+Cookie认证
- 语音增强原理之增益因子
- Oracle Database Vault关闭方法(二)
- [b.d]--算法题-求含有min函数的栈的实现
- 【Android】- Android Studio打包签名的流程
- canvas系类-非零坏绕原则(二)制作剪纸效果
- 应用程序的内存的分类
- 数据库Oracle之用户、角色和权限
- char 与 string 区别
- ASP.net项目创建
- 小试Googletest记一
- Codeforces 779B-Weird Rounding
- 单链表
- 设计模式(二)-Java单例模式(Singleton模式)