`
liuwuyue
  • 浏览: 22898 次
  • 性别: Icon_minigender_1
  • 来自: 杭州
社区版块
存档分类
最新评论

html5 之canvas

阅读更多
html5汹涌而来。拿来玩玩。今天学习canvas。
  首先上个例子,自己写了一个实现圆角矩形方法。
  
function  drawRoundRect(ctx,x,y,w,h){
var d1 = 1/40*w; //设置 d1 d2的默认长度  为贝塞尔曲线取中间控制点做准备
var d2 = 1/50*w ;
ctx.beginPath(); 
// 第一个节点
  ctx.moveTo(x,y+d1+d2) ; //起始点
  ctx.bezierCurveTo(x,y+d1,x+d1,y,x+d2+d1,y); //第一个圆角
  ctx.lineTo(x+w-d1-d2,y); //连接线
  ctx.bezierCurveTo(x+w-d1,y,x+w,y+d1,x+w,y+d1+d2); //第二个圆角  
   ctx.lineTo(x+w,y+h-d1-d2); //连接线
  ctx.bezierCurveTo(x+w,y+h-d1,x+w-d1,y+h,x+w-d1-d2,y+h); //第三个圆角  
  ctx.lineTo(x+d1+d2,y+h); //连接线
  ctx.bezierCurveTo(x+d1,y+h,x,y+h-d1,x,y+h-d1-d2); //第四个圆角
  ctx.lineTo(x,y+d1+d2);//连接线
  ctx.strokeStyle='#99ff00'; //设置画线颜色
  ctx.stroke();//画线
}//画出圆角矩形 x y 为起始结点,w,h 为宽高 ctx 为画布环境


html5头部的声明如下:
 <!DOCTYPE html>

html5页面如下:
  <!DOCTYPE html>
<html class="no-js">
<head>
<meta http-equiv="Content-Type" content="text/html;charset=gb2312" />
<title>html5 测试</title>
<script  src="../js/modernizr-2.0.6.js"></script>
<style type="text/css">
  .html-canvas{
width:300px;
height:400px;
  }
 
</style>
</head>
<body>
<canvas id="draw-in-me" class="html-canvas">
  <p>powered by html5</p>
 
</canvas>


<script src="../js/test1.js"></script>
</body>

</html>

使用了modernizer对浏览器是否支持相关功能进行检测。
     getContext('2d'); //目前还只是支持获取2d画布环境
  canvas 图形的话,只能画矩形,其余就只能画线。当然圆也可以。
   画线的工具函数:
         moveTo(x,y); //起始点设置
                           lineTo(x,y); //画直线
                           bezierCurveTo(x1,y1,x2,y2,x,y); //画两个控制点的贝塞尔曲线
    画线的步骤
              beginPath();
            closePath(), fill(),stroke() 等。
画圆
   arc(x,y ,r,start,end,clockWise); //画圆或者环
      x ,y 圆心
     start end 弧度
     r 半径
     clockwise 顺时针 逆时针 true 为逆时针
画矩形
     fillRect(x,y ,w,h); 画矩形
        x,y 起始坐标,w ,h 宽高。等。
其他诸如:
  ctx.strokeStyle  fillStyle  设置画线 或填充的颜色。等修饰性的属性.

参考文档我引用的另一个文档。
     

    
 
分享到:
评论

相关推荐

    html5之canvas

    &lt;canvas&gt; 是一个新的 HTML 元素,这个元素在 HTML5 中被定义。这个元素通常可以被用来在 HTML 页面中通过 JavaScript 进行绘制图形、合成图像等等操作,也可以用来做一些动画。这个文档中有详细的canvas的应用实例,...

    HTML5之Canvas入门

    HTML5环境下Canvas入门, 在Chrome或FF环境下可以预览, 些例说明了Canvas下可以随意的进行画图, 我的例子主要以带圆角的矩形及渐变颜色为例子

    HTML 5 Canvas基础教程 源码+PDF

    《HTML 5 Canvas基础教程》从HTML5和JavaScript(以及jQuery)的基础知识讲起,全面介绍了HTML5Canvas的各种特性,包括渲染上下文、坐标系统、绘制图形、保存和恢复画布状态,以及变形、合成、处理图像和视频等,让...

    html5canvas播放视频

    html5 canvas 播放视频html5 canvas 播放视频

    Html5-canvas之图片添加马赛克

    Html5-canvas之图片添加马赛克 Html5-canvas之图片添加马赛克

    html5 canvas飘洒的星星特效

    html5 canvas飘洒的星星特效html5 canvas飘洒的星星特效html5 canvas飘洒的星星特效html5 canvas飘洒的星星特效html5 canvas飘洒的星星特效html5 canvas飘洒的星星特效html5 canvas飘洒的星星特效html5 canvas飘洒的...

    html5,canvas扇形菜单

    html5,canvas扇形菜单 html5,canvas扇形菜单 html5,canvas扇形菜单 html5,canvas扇形菜单 html5,canvas扇形菜单

    HTML5Canvas基础教程

    资源名称:HTML5 Canvas基础教程内容简介:《HTML5 Canvas基础教程》从HTML5和Javascript(以及jQuery)的基础知识讲起,全面介绍了HTML5 Canvas的各种特性,包括渲染上下文、坐标系统、绘制图形、保存和恢复...

    HTML5 Canvas核心技术代码

    《HTML5 Canvas核心技术》内的实例代码

    HTML5 Canvas核心技术源码技术代码

    HTML5 Canvas核心技术源码技术代码、图形、动画与游戏开发。 Canvas开发、入门学习Canvas技术代码。 HTML5 Canvas核心技术源码技术代码、图形、动画与游戏开发。 Canvas开发、入门学习Canvas技术代码。 HTML5 Canvas...

    html5 canvas 制作流程图 EaselJS

    html5 canvas 制作流程图 EaselJS html5 canvas 制作流程图 EaselJS

    HTML5 Canvas

    HTML5 Canvas 经典学习教程, HTML5 Canvas 经典学习教程-HTML5 Canvas Study,HTML5 Canvas Study,HTML5 Canvas Study

    让IE兼容 HTML5的canvas标签

    让IE兼容 HTML5的canvas标签 excanvas的文件

    《HTML5 Canvas 开发详解》第二版pdf

    《HTML5 Canvas 开发详解》第二版pdf 版

    HTML 5 CANVAS游戏开发实战

    HTML 5 CANVAS游戏开发实战HTML 5 CANVAS游戏开发实战HTML 5 CANVAS游戏开发实战

    html5 canvas容器温度计特效

    html5 canvas容器温度计特效 html5 canvas容器温度计特效

    html2canvas 1.0.0-rc.5

    低版本HTML2canvas 前端开发 生成海报 截图等功能 1.该脚本允许您直接在用户浏览器上对网页或其部分进行“截图”。屏幕截图基于 DOM,因此可能不是 100% 准确到真实表示,因为它不会制作实际的屏幕截图,而是根据...

    html5+canvas+js头像缩放裁剪

    html5+canvas+js头像缩放裁剪

    HTML5.Canvas

    HTML5.Canvas HTML5.CanvasHTML5.Canvas HTML5.CanvasHTML5.CanvasHTML5.Canvas HTML5.CanvasHTML5.Canvas HTML5.Canvas

    html5 canvas流动的瀑布动画特效

    html5 canvas流动的瀑布动画特效 html5 canvas流动的瀑布动画特效

Global site tag (gtag.js) - Google Analytics