HTML5读书笔记之三:Canvas基础知识
<!doctype html> <head> <title>Canvas Test</title> <meta charset="UTF-8"> <link href="./css/canvas.css" rel="stylesheet" type="text/css"> <script type="text/javascript" src="./jquery/jquery-1.11.1.min.js"> </script> <script type="text/javascript"> $(document).ready(function(){ var canvas = $("#myCanvas"); var context = canvas.get(0).getContext("2d"); /************************************绘制正方形********************************************************************************************* context.fillRect(40, 40, 100, 100); //绘制实心正方形 context.fillRect(x, y, width, height); context.strokeRect(40, 40, 100, 100); //绘制空心正方形 context.strokeRect(x, y, width, height); *************************************绘制线条*********************************************************************************************** context.beginPath(); //开始路径 context.moveTo(40, 40); //设置路径原点 context.lineTo(340, 340); //设置路径终点 context.closePath(); //结束路径 context.stroke(); //开始绘制 *************************************绘制圆形*********************************************************************************************** context.beginPath(); //开始路径 context.arc(230, 90, 50, 0, Math.PI*2, false); //绘制一个圆 context.arc(x, y, radius, startAngle, endAngle, anticlockwise); context.closePath(); //结束路径 context.fillStyle = "rgb(255, 0, 0)"; //颜色 context.fill(); //填充路径 **************************************绘制风格********************************************************************************************** context.lineWidth = 5; //家粗线条 context.beginPath(); //开始路径 context.moveTo(40, 40); //设置路径原点 context.lineTo(40, 340); //设置路径终点 context.closePath(); //结束路径 context.stroke(); //开始绘制 context.strokeRect(200, 40, 100, 100); context.lineWidth = 10; //家粗线条 context.beginPath(); //开始路径 context.moveTo(80, 40); //设置路径原点 context.lineTo(80, 340); //设置路径终点 context.closePath(); //结束路径 context.stroke(); //开始绘制 context.strokeRect(400, 40, 100, 100); ***************************************绘制文字*********************************************************************************************** var text = "Hello World!"; context.font = "italic 60px serif"; context.strokeText(text, 40, 100); ***************************************擦除Canvas********************************************************************************************* context.fillRect(40, 40, 100, 100); //绘制实心正方形 context.fillRect(x, y, width, height); context.clearRect(40, 40, 50, 50); //擦除Canvas context.clearRect(0, 0, canvas.width(), canvas.height()); //擦除全部,但是重新绘制时,图形的一些属性不会变 ***************************************重置Canvas********************************************************************************************* context.fillRect(40, 40, 100, 100); //绘制实心正方形 context.fillRect(x, y, width, height); canvas.attr("width", canvas.width()); //重置canvas的高和宽,绘制图形之前设置的属性(样式,颜色)也一并清除 canvas.attr("height", canvas.height()); ***************************************Canvas填满浏览器*********************************************************************************************/ $(window).resize(resizeCanvas); //调用resize方法,当调整窗口大小的时候就会触发 //当调整窗口时仍完美的填满整个窗口,而不会出现滚动条或者出现白框 function resizeCanvas(){ canvas.attr("width", $(window).get(0).innerWidth); //$(window).get(0).innerWidth 使用window浏览器对象和jQuery方法获取窗口的宽和高 canvas.attr("height", $(window).get(0).innerHeight); //用到了重置canvas高和宽 不使用$(window).height(),因为似乎并不支持所有浏览器 context.fillRect(0, 0, canvas.width(), canvas.height()); } resizeCanvas(); }); </script> </head> <body> <canvas id="myCanvas" width="1000" height="1000"> </canvas> </body> </html>
郑重声明:本站内容如果来自互联网及其他传播媒体,其版权均属原媒体及文章作者所有。转载目的在于传递更多信息及用于网络分享,并不代表本站赞同其观点和对其真实性负责,也不构成任何其他建议。