用html5的canvas画布绘制贝塞尔曲线完整代码

2016-02-19 10:01 55 1 收藏

图老师设计创意栏目是一个分享最好最实用的教程的社区,我们拥有最用心的各种教程,今天就给大家分享用html5的canvas画布绘制贝塞尔曲线完整代码的教程,热爱PS的朋友们快点看过来吧!

【 tulaoshi.com - Web开发 】

查看效果:http://keleyi.com/keleyi/phtml/html5/7.htm
完整代码:

代码如下:

!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"
html xmlns="http://www.w3.org/1999/xhtml"
head
title用html5的canvas画布绘制贝塞尔曲线/title
/head
body
div
a href="http://keleyi.com/a/bjac/j77m9131.htm" target="_blank"原文/a/div
canvas id="keleyi_com" height="300" width="400"/canvas
script type="text/javascript"
function draw(id)
{
var canvas=document.getElementById(id);
if(canvas==null)
return false;
var context=canvas.getContext('2d');
context.fillStyle="#eeeeff";
context.fillRect(0,0,400,300);
var n=0;
var dx=150;
var dy=150;
var s=100;
context.beginPath();
context.globalCompositeOperation='and';
context.fillStyle='rgb(100,255,100)';
context.strokeStyle='rgb(0,0,100)';
var x=Math.sin(0);
var y=Math.cos(0);
var dig=Math.PI/15*11;
for(var i=0;i30;i++)
{
var x=Math.sin(i*dig);
var y=Math.cos(i*dig);
context.bezierCurveTo(dx+x*s,dy+y*s-100,dx+x*s+100,dy+y*s,dx+x*s,dy+y*s);
}
context.closePath();
context.fill();
context.stroke();
}
draw("keleyi_com");
/script
/body
/html

来源:http://www.tulaoshi.com/n/20160219/1593054.html

延伸阅读
标签: Web开发
从今天开始,我们将开始一个关于html5 canvas的系列课程。这个系列是我读《HTML5 Canvas:Native Interactivity and Animation for the Web》后的总结,有兴趣的朋友可以去下载英文原版书籍阅读。这本书通过介绍canvas游戏开发的方式,向我们展现canvas强大的功能,我觉得相当不错,通过阅读这本书我学到了canvas很多的知识。其实canvas本身的ap...
标签: Web开发
这篇将要介绍一下 Canvas 中的基本图形。 图形的基础 - 路径 在 Canvas 中,所有基本图形都是以路径为基础的,也就是说,我们在调用 2dContext 的 lineTo、rect 等方法时,其实就是往已经的 context 路径集合中再添加一些路径点,在最后使用 fill 或 stroke&nbs...
标签: Web开发
 一、基本概念 什么是Canvas canvas 是一个新的 HTML 元素,这个元素在 HTML5  中被定义。这个元素通常可以被用来在 HTML 页面中通过 JavaScript 进行绘制图形、合成图像等等操作,也可以用来做一些动画。当然,目前 HTML5 规范还在草稿阶段,正式发布也许要等到2010年,不...
标签: Web开发
复制代码代码如下: !DOCTYPE HTML html head meta charset="UTF-8" titleHTML5示例/title style type="text/css" #container{border:1px solid #ccc;width:800px;height:600px;position:relative;} canvas{position:absolute;top:0px;left:0px;z-index:1;} /style /head body select id="tools" option value="pen"铅笔/option op...
标签: Web开发
继续讲canvas中画曲线的方法,今天讲quadraticCurveTo。 说实话这个方法有点吓人,单从函数名称上都可以初体验。话说,我觉得有必要把这个函数名缩短。 quadratic的意思是二次,即数学中二次元方程那个二次。而ctx.quadraticCurveTo的参数如下: 代码如下: ctx.quadraticCurveTo(x1,y1,x,y); 其中x,y是终点的坐标,而x1,y1是曲线控制点...

经验教程

207

收藏

29
微博分享 QQ分享 QQ空间 手机页面 收藏网站 回到头部