canvas绘画常用方法_html/css_WEB-ITnose

php中文网
发布: 2016-06-24 11:29:18
原创
1672人浏览过

先说一下canvas元素比较游泳的方法主要是canvas通过getcontext()方法获取的上下文对象。

其次设置颜色方面,通常有四种方法:16进制颜色值、英语单词、rgb、rgba。主要注意的是后两者,rgb的三个参数是红绿蓝0-255的值,rgba在此基础上添加了第四个参数透明度,范围0-1。

1.画矩形

<!DOCTYPE html><html><head lang="en">    <meta charset="utf-8">    <title></title>    <script>        //画矩形        function drawRect(id){            var canvas = document.getElementById(id); //获取上下文对象,canvas很多常用方法都是基于这个对象实现的            var context = canvas.getContext('2d');    //目前参数只有2d            context.fillStyle = "gray";               //填充颜色            context.strokeStyle = "#f60";             //边框颜色            context.lineWidth = 5;                    //边框宽度            context.fillRect(0,0,400,300);     //参数:x,y,width,height。绘制“已填色”的矩形,默认填充颜色是黑色            context.strokeRect(80,80,180,120); //参数:x,y,width,height。绘制未填色的矩形,默认填充颜色是黑色            context.strokeRect(110,110,180,120);        }    </script><head><body onload="drawRect('canvas');"><canvas id="canvas" width="400px" height="400px" ></canvas></body></html>
登录后复制

JavaScript已经是所有浏览器的默认脚本语言,因此<script>标签中无需再指定脚本类型。</script>

2.画圆

立即学习前端免费学习笔记(深入)”;

万兴爱画
万兴爱画

万兴爱画AI绘画生成工具

万兴爱画 52
查看详情 万兴爱画
<!DOCTYPE html><html><head lang="en">    <meta charset="utf-8">    <title></title>    <script>                //画圆形        function drawArc(id){            var canvas = document.getElementById(id); //获取上下文对象,canvas很多常用方法都是基于这个对象实现的            var context = canvas.getContext('2d');    //目前参数只有2d            context.fillStyle = "#f1f2f3";            //填充颜色            context.fillRect(0,0,400,400);    //参数:x,y,width,height。绘制“已填色”的矩形,默认填充颜色是黑色                        for(var i=1; i<10; i++){                context.beginPath();  //路径开始                i % 2 ? context.arc(200,200,10*i,0,Math.PI,true): context.arc(200,200,10*i,0,Math.PI,false); //参数:x,y,半径,开始角度,结束角度,是否按顺时针方向                context.closePath();  //路径关闭                context.fillStyle = "rgba(255,0,0,0.25)"; //填充颜色                context.fill();       //绘制            }        }    </script><head><body onload="drawArc('canvas');"><canvas id="canvas" width="400px" height="400px" ></canvas></body></html>
登录后复制

3.写字

<!DOCTYPE html><html><head lang="en">    <meta charset="utf-8">    <title></title>    <script>        //写字        function drawText(id){            var canvas = document.getElementById(id); //获取上下文对象,canvas很多常用方法都是基于这个对象实现的            var context = canvas.getContext('2d');    //目前参数只有2d            context.fillStyle = "gray";         //填充颜色            context.fillRect(0,0,800,300);      //参数:x,y,width,height。绘制“已填色”的矩形,默认填充颜色是黑色            context.fillStyle = '#fff';         //填充颜色            context.strokeStyle = '#fff';       //边框颜色            context.font = "bold 40px '微软雅黑'";    //设置字体            //context.textBaseline = 'Top'; context.textAlign = 'start'; 文字相对于浏览器顶部和左侧的对齐方式            context.fillText('Canvas',50,50);            context.strokeText('Canvas',70,100);        }            </script><head><body onload="drawText('canvas');"><canvas id="canvas" width="400px" height="400px" ></canvas></body></html>
登录后复制
textBaseline和textAlign特点可以查看其他资源,就不在这混乱主题了。 
登录后复制

4.将画保存

window.location = canvas.toDataURL('image/jpeg'); //保存图像
登录后复制

可以选择自己想要的格式。

5.动画

        var i=100;        function painting(){            //alert(1);            context.fillStyle = "gray";         //填充颜色            context.fillRect(i,0,10,10);      //参数:x,y,width,height。绘制“已填色”的矩形,默认填充颜色是黑色            i=i+20;        }        function draw(id){            var canvas = document.getElementById(id); //获取上下文对象,canvas很多常用方法都是基于这个对象实现的            var context = canvas.getContext('2d');    //目前参数只有2d            setInterval(painting,100);                //事件单位是毫秒            i=0;                    }
登录后复制

这个没有做出效果。看到别人用上面的方法,但是我这样写没有出来动画,调试果然显示painting函数内的context为定义。以后有时间再学习一下。

HTML速学教程(入门课程)
HTML速学教程(入门课程)

HTML怎么学习?HTML怎么入门?HTML在哪学?HTML怎么学才快?不用担心,这里为大家提供了HTML速学教程(入门课程),有需要的小伙伴保存下载就能学习啦!

下载
来源:php中文网
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn
最新问题
开源免费商场系统广告
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板
关于我们 免责申明 举报中心 意见反馈 讲师合作 广告合作 最新更新 English
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送
PHP中文网APP
随时随地碎片化学习

Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号