• linkedu视频
  • 平面设计
  • 电脑入门
  • 操作系统
  • 办公应用
  • 电脑硬件
  • 动画设计
  • 3D设计
  • 网页设计
  • CAD设计
  • 影音处理
  • 数据库
  • 程序设计
  • 认证考试
  • 信息管理
  • 信息安全
菜单
linkedu.com专业计算机教程网站
  • 网页制作
  • 数据库
  • 程序设计
  • 操作系统
  • CMS教程
  • 游戏攻略
  • 脚本语言
  • 平面设计
  • 软件教程
  • 网络安全
  • 电脑知识
  • 服务器
  • 视频教程
  • html/xhtml
  • html5
  • CSS
  • XML/XSLT
  • Dreamweaver教程
  • Frontpage教程
  • 心得技巧
  • bootstrap
  • vue
  • AngularJS
  • HBuilder教程
  • css3
  • 浏览器兼容
  • div/css
  • 网页编辑器
  • axure
您的位置:首页 > 网页设计 >html5 > html5之canvas起步的代码示例详解(图)

html5之canvas起步的代码示例详解(图)

作者:匿名 字体:[增加 减小] 来源:互联网 时间:2018-12-03

本文主要包含html5,canvas等相关知识,匿名希望在学习及工作中可以帮助到您
1)HTMLCanvasElement对象的成员:

height——对应于canvas元素的height属性;

width——对应于canvas元素的width属性;

getContext(<context>)——为画布返回绘图上下文;

2)绘制矩形:

fillRect(x,y,w,h)——绘制一个实心矩形;

strokeRect(x,y,w,h)——绘制一个空心矩形;

clearRect(x,y,w,h)——清除指定的矩形;

canvas{
            border:medium double black;
            margin: 4px;
        }
        body > *{
            float: left;
        }
<canvas id="canvas1" width="500" height="200">
        您的浏览器不支持<code>canvas</code>!
    </canvas>
<script>
        //绘制矩形
        var ctx=document.getElementById("canvas1").getContext("2d");
        //ctx.fillRect(10,10,50,50);
        var offset=10;
        var size=50;
        var count=5;
        for(var i=0;i<count;i++){
            ctx.fillRect(i*(offset+size)+offset,offset,size,size);
            ctx.strokeRect(i*(offset+size)+offset,(2*offset)+size,size,size);
            ctx.clearRect(i*(offset+size)+offset,offset+5,size,size-10);
        }
    </script>


3)设置画布绘制状态:

lineWidth——获取或设置线条的宽度(默认值为1.0);

lineJoin——获取或设置线条与图形连接时的样式(默认值为miter);

fillStyle——获取或设置用于实心图形的样式(默认值为black);

strokeStyle——获取或设置用于线条的样式(默认值为black);

 <canvas id="canvas2" width="500" height="70">
        您的浏览器不支持<code>canvas</code>!
    </canvas>
    <script>
        //在执行操作前绘制设置状态
        var ctx=document.getElementById("canvas2").getContext("2d");
        ctx.lineWidth=2;
        ctx.strokeRect(10,10,50,50);
        ctx.lineWidth=4;
        ctx.strokeRect(70,10,50,50);
        ctx.lineWidth=6;
        ctx.strokeRect(130,10,50,50);
        ctx.lineWidth=8;
        ctx.strokeRect(200,10,50,50);
    </script>


<canvas id="canvas3" width="500" height="140">
        您的浏览器不支持<code>canvas</code>!
    </canvas>
    <script>
        //设置lineJoin属性
        var ctx=document.getElementById("canvas3").getContext("2d");
        ctx.lineWidth=20;

        ctx.lineJoin="round";
        ctx.strokeRect(20,20,100,100);
        ctx.lineJoin="bevel";
        ctx.strokeRect(160,20,100,100);
        ctx.lineJoin="miter";
        ctx.strokeRect(300,20,100,100);
    </script>


    <canvas id="canvas4" width="500" height="140">
        您的浏览器不支持<code>canvas</code>!
    </canvas>
    <script>
        //设置填充和笔触样式
        var ctx=document.getElementById("canvas4").getContext("2d");
        var offset=10;
        var size=50;
        var count=5;
        var lineWidth=3;
        var fillColors=["black","grey","lightgrey","red","blue"];
        var strokeColors=["rgb(0,0,0)","rgb(100,100,100)","rgb(200,200,200)","rgb(255,0,0)","rgb(0,0,255)"];
        for(var i=0;i<count;i++){
            ctx.fillStyle=fillColors[i];
            ctx.strokeStyle=strokeColors[i];
            ctx.fillRect(i*(offset+size)+offset,offset,size,size);
            ctx.strokeRect(i*(offset+size)+offset,(2*offset)+size,size,size);

        }
    </script>


4)使用渐变

createLinearGradient(x0,y0,x1,y1)——创建线性渐变,返回CanvasGradient对象;

createRadialGradient(x0,y0,r0,x1,y1,r1)——创建径向渐变,返回CanvasGradient对象;

CanvasGradient对象的方法:

addColorStop(<position>,<color>)——给渐变的梯度线添加一种纯色;

    <canvas id="canvas5" width="500" height="140">
        您的浏览器不支持<code>canvas</code>!
    </canvas>
    <script>
        //使用线性渐变
        var ctx=document.getElementById("canvas5").getContext("2d");
        //var grad=ctx.createLinearGradient(0,0,500,140);
        var grad=ctx.createLinearGradient(10,10,60,60);
        grad.addColorStop(0,"red");
        grad.addColorStop(0.5,"white");
        grad.addColorStop(1,"black");
        ctx.fillStyle=grad;
        //ctx.fillRect(0,0,500,140);
        ctx.fillRect(10,10,50,50);
    </script>


    <canvas id="canvas6" width="500" height="140&quo
  


 

您可能想查找下面的文章:

  • HTML5知识点总结
  • HTML5的本地存储
  • HTML5本地存储之IndexedDB
  • Html5实现文件异步上传功能
  • Html5新标签datalist实现输入框与后台数据库数据的动态匹配
  • 详解HTML5 window.postMessage与跨域
  • HTML5拖放API实现拖放排序的实例代码
  • 解决html5中video标签无法播放mp4问题的办法
  • HTML5新特性 多线程(Worker SharedWorker)
  • Html5新增标签有哪些

相关文章

  • 2018-12-03HTML5实现文件断点续传的方法
  • 2018-12-03HTML5无插件多媒体Media-音频audio与视频video的详细介绍
  • 2018-12-03HTML5 script元素async、defer异步加载使用介绍_html5教程技巧
  • 2018-12-03如何使用html5的Page Visibility API来实现获取焦点js事件
  • 2018-12-03为什么html5将主宰在线视频?
  • 2018-12-03HTML5高级编程之图形扭曲及其应用一(原理篇)
  • 2018-12-03详解HTML5中download属性的应用_html5教程技巧
  • 2018-12-03HTML5实现经典坦克大战坦克乱走还能发出一个子弹_html5教程技巧
  • 2018-12-03用H5调用支付微信公众号支付的解析
  • 2018-12-03MUI顶部选项卡的用法

文章分类

  • html/xhtml
  • html5
  • CSS
  • XML/XSLT
  • Dreamweaver教程
  • Frontpage教程
  • 心得技巧
  • bootstrap
  • vue
  • AngularJS
  • HBuilder教程
  • css3
  • 浏览器兼容
  • div/css
  • 网页编辑器
  • axure

最近更新的内容

    • html5记忆翻牌游戏实现思路及代码
    • 谷歌为什么要推出AMP计划?
    • li inside-block在IE11换行无效的原因
    • nw.js 如何禁用向主窗口拖放文件?
    • 女生真的不适合写代码吗?
    • html5菜单折纸效果_html5教程技巧
    • H5移动端图片压缩上传开发流程
    • Html5+JS实现手机摇一摇功能_html5教程技巧
    • html5:canvas
    • html5中canvas学习笔记2-判断浏览器是否支持canvas

关于我们 - 联系我们 - 免责声明 - 网站地图

©2020-2025 All Rights Reserved. linkedu.com 版权所有