html5
浏览器支持
Internet Explorer 9、Firefox、Opera、Chrome 以及 Safari 支持
现实生活中,画图需要考虑:
画布
笔
立即学习“前端免费学习笔记(深入)”;
1.线条的粗细;
2.线条的颜色;
3.线条的虚实;
画线
1.起点;
2.终点;
画圆
1.圆点;
2.半径;
3.实心、空心
画矩形
1.矩形的左上起点;
2.矩形的长、宽;
文本
1.字体样式;
2.实心、空心;
添加图片等
根据画图需要,canvas有以下API
canvas主要属性和方法
canvas的API颜色、样式和阴影属性和方法
Canvas的API-线条样式属性和方法
Canvas的API-矩形方法
Canvas的API-路径方法
Canvas的API-转换方法
Canvas的API-文本属性和方法
Canvas的API-图像绘制方法
Canvas的API-像素操作方法和属性
Canvas的API-图像合成属性
3.1canvas API练习
nbsp;html> <canvas> 您的浏览器当前版本不支持canvas标签 </canvas> <script> //获取画布DOM 还不可以操作 var canvas=document.getElementById('canvas'); //alert(canvas); //设置绘图环境 var cxt=canvas.getContext('2d'); //alert(cxt); //画一条线段。 //开启新路径 cxt.beginPath(); //设定画笔的宽度 cxt.lineWidth=10; //设置画笔的颜色 cxt.strokeStyle="#ff9900"; //设定笔触的位置 cxt.moveTo(20,20); //设置移动的方式 cxt.lineTo(100,20); //画线 cxt.stroke(); //封闭路径 cxt.closePath(); //画一个空心圆形 凡是路径图形必须先开始路径,画完图之后必须结束路径 //开始新路径 cxt.beginPath(); //重新设置画笔 cxt.lineWidth=3; cxt.strokeStyle="green"; cxt.arc(200,200,50,0,360,false); cxt.stroke(); //封闭新路径 cxt.closePath(); //画一个实心圆形 cxt.beginPath(); //设置填充的颜色 cxt.fillStyle="rgb(255,0,0)"; cxt.arc(200,100,50,0,360,false); cxt.fill(); cxt.stroke(); cxt.closePath(); //画一个矩形 cxt.beginPath(); cxt.rect(300,20,100,100); cxt.stroke(); cxt.closePath(); //其他方法 建议使用此方式 cxt.strokeRect(300,150,100,100) //实心矩形 cxt.beginPath(); cxt.rect(300,270,100,100); cxt.fill(); cxt.closePath(); //其他方法 建议使用此方式 cxt.fillRect(300,390,100,100); //设置文字 cxt.font="40px 宋体";//css font属性 cxt.fillText("jingwhale",20,300); //将笔触设置为1像素 cxt.lineWidth=1; cxt.strokeText("jingwhale",20,350); //画图 把一幅图片画到画布中 注意webkit内核的浏览器 chrome和猎豹不支持 var img =new Image(); img.src="xiaomm.jpg"; cxt.drawImage(img,20,370,230,306); //画一个三角形 cxt.beginPath(); //移动至开始点 cxt.moveTo(300,500); cxt.lineTo(300,600); cxt.lineTo(400,550); cxt.closePath();//填充或者画路径需要先闭合路径再画 cxt.stroke(); //实心三角形 cxt.beginPath(); //移动至开始点 cxt.moveTo(300,600); cxt.lineTo(300,700); cxt.lineTo(400,650); cxt.closePath(); cxt.fill(); //旋转图片 图片 //设置旋转环境 cxt.save(); //在异次元空间重置0,0点的位置 cxt.translate(20,20); //图片/形状旋转 //设置旋转角度 参数是弧度 角度 0-360 弧度=角度*Math.PI/180 cxt.rotate(-30*Math.PI/180); //旋转一个线段 cxt.lineWidth=10; cxt.beginPath(); cxt.moveTo(0,0); cxt.lineTo(20,100); cxt.stroke(); cxt.closePath(); //将旋转之后的元素放回原画布 cxt.restore(); //过程不可颠倒 先设置00点在旋转角度,然后画图 //旋转图片 cxt.save(); cxt.translate(20,370); cxt.rotate(-10*Math.PI/180); var img =new Image(); img.src="xiaomm.jpg"; cxt.drawImage(img,0,0,230,306); cxt.restore(); </script>
3.2画图流程
1.设置、获取画布DOM;2.设置绘图环境 var cxt=canvas.getContext('2d');3.开启新路径cxt.beginPath();4.设定画笔的宽度cxt.lineWidth=10;5.设置画笔的颜色cxt.strokeStyle="#ff9900";6.依据API画图7.封闭路径cxt.closePath();
3.3canvas 作业-星球运转
//获取canvas绘图环境 var context = document.getElementById('canvas').getContext('2d'); var time = 0; //星球轨道 function drawTrack(){ for(var i = 0; i <p><span style="color: #9b00d3;">演示</span></p><h4>四.canvas画图实例-网页画图</h4><p><img title="image" src="https://img.php.cn/upload/article/000/000/194/1c02b14f4d8f3471991c7ffa2d5a62c4-0.png" alt="image" style="max-width:90%" style="max-width:90%"><br></p><p><strong>1.画图板功能分析</strong></p><blockquote><p>功能区(保存、清空)<br>工具区(形状和工具)<br>属性设置区(颜色和线宽)<br>绘图区域(canvas标签)</p></blockquote><p><strong>2.技术需求分析</strong></p><blockquote><p><a href="http://www.php.cn/code/7955.html" target="_blank">页面布局</a>->HTML5标签<br>页面美化->CSS2<br>功能设置->Javascript编程<br>Canvas API->属性设置、画线、写字、画图、画布操作(清空、获取画布信息)、<br>下载->php的下载(JS无法操作本地文件)</p></blockquote><p><strong>3.画一个简单的画布</strong></p><blockquote><p>鼠标点击时<br>准备起始点 moveTo()、设置标志位<br>鼠标移动时<br>判断标志位,值为true画图,false不画图<br>移动时指定路径lineTo(),并且画出来stroke()<br>鼠标离开或者抬<br>清空标志位</p></blockquote><p><strong>4.复杂的在线画板</strong></p><blockquote><p>获取相应元素对象<br>设置点击状态<br>设置触发功能<br>颜色属性设置<br>线宽属性设置<br>绘图形状设置<br>工具指定</p></blockquote><p><strong>5.html结构部分:</strong></p><p><img title="clipboard" src="https://img.php.cn/upload/article/000/000/194/1c02b14f4d8f3471991c7ffa2d5a62c4-1.png" alt="clipboard" style="max-width:90%" style="max-width:90%"></p><p><img title="ef182ccb5078489aa075a2e8e88c1b64" src="https://img.php.cn/upload/article/000/000/194/5c7bf9c3afdfb4e76835b4e979d1288f-2.jpg" alt="ef182ccb5078489aa075a2e8e88c1b64" style="max-width:90%" style="max-width:90%"></p><p><strong>6.画图技术点:</strong></p><p>整个画图被鼠标<a href="http://www.php.cn/php/php-tp-incident.html" target="_blank">事件</a>所控制</p><blockquote><p><br>鼠标按下的事件-》mousedown<br>鼠标移动的事件-》mousemove<br>鼠标抬起事件-》mouseup</p></blockquote><pre class="brush:html;toolbar:false;">//鼠标按下的时候-》设置开始点canvas.onmousedown=function(evt){
//鼠标移动的时候-》不同的绘图(获取鼠标的位置)canvas.onmousemove=function(evt){}
//鼠标抬起的时候结束绘图canvas.onmouseup=function(){
以上就是HTML5 canvas画图的图文代码详解的详细内容,更多请关注php中文网其它相关文章!
HTML怎么学习?HTML怎么入门?HTML在哪学?HTML怎么学才快?不用担心,这里为大家提供了HTML速学教程(入门课程),有需要的小伙伴保存下载就能学习啦!
Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号