HTML5 在canvas绘制一个矩形

笔者:本笃庆军

原文地址:http://blog.csdn.net/qingdujun/article/details/32930501

一、绘制矩形

canvas使用原点(0,0)在左上角的坐标系统,x坐标向右递增。y坐标向下递增。

使用画图环境的矩形绘制函数来绘制矩形。

  • fillRect(x,y,width,height) : 绘制一个实心的矩形。
  • strokeRect(x,y,width,height) : 绘制一个空心的矩形。
  • clearRect(x,y,width,height) : 清除指定的矩形区域。使之全然透明。

二、在canvas中绘制矩形

<!--<!DOCTYPE> 声明必须是 HTML 文档的第一行。位于 <html> 标签之前。-->
<!DOCTYPE html>
<html>
<head>
	<meta http-equiv="Content-type" content="text/html; charset = utf-8">
	<title>HTML5</title>
	<script type="text/javascript" charset = "utf-8">
		//这个函数将在页面全然载入后调用
		function pageLoaded()
		{
			//获取canvas对象的引用,注意tCanvas名字必须和以下body里面的id同样
			var canvas = document.getElementById('tCanvas');
			//获取该canvas的2D画图环境
			var context = canvas.getContext('2d');
			//绘制代码将出如今这里
			//实心矩形
			//在点(200,10)处绘制一个宽和高均为100像素的实心正方形
			context.fillRect(200,10,100,100);
			//在点(50,70)处绘制一个宽90像素、高30像素的实心矩形
			context.fillRect(50,70,90,30);

			//空心矩形(矩形边框)
			//在点(110,10)处绘制一个宽和高均为50像素的正方形边框
			context.strokeRect(110,10,50,50);
			//在点(30,10)处绘制一个宽和高均为50像素的正方形边框
			context.strokeRect(30,10,50,50);

			//清除矩形区域
			//清除点(210,20)处宽30像素、高20像素的矩形区域
			context.clearRect(210,20,30,20);
			//清除点(260,20)处宽30像素、高20像素的矩形区域
			context.clearRect(260,20,30,20);
		}
	</script>
</head>
<body onload="pageLoaded();">
	<canvas width = "400" height = "200" id = "tCanvas" style = "border:black 1px solid;">
	 	<!--假设浏览器不支持则显演示样例如以下字体-->
		提示:你的浏览器不支持<canvas>标签
	</canvas>
</body>
</html>

三、绘制效果

参考:(打印)尚卡尔(Shankar,A.R.)(笔者).Xieguang磊(翻译者).HTML5游戏开发高级指南[M].北京:电子工业出版社,2013.3-5.

时间: 2024-12-14 14:20:22

HTML5 在canvas绘制一个矩形的相关文章

通过HTML5标签canvas绘制一个八卦图案

只需要用到casvas标签和fillStyle.arc.beginPath.closePath.fill方法 代码如下: <canvas id="rect" width="310" height="310" style="border:1px yellow solid;"> </canvas> <script> var id=document.getElementById("rec

WPF使用Canvas绘制可变矩形

1.问题以及解决办法 最近因为项目需要,需要实现一个位置校对的功能,大致的需求如下:有一个图片,有一些位置信息,但是位置信息可能和实际有些偏差,需要做简单调整,后面会对这张图片进行切割等,做些处理.(位置信息连接起来是一个个小矩形.) 解决以上问题的大致思路如下:使用canvas进行绘制,把图片作为canvas的背景,在canvas上绘制矩形,类似于qq截图一样,矩形框可以使用鼠标拖动调整大小.然后在记下修改后的位置,提供给后面切割图片使用.目前的关键问题就是实现类似qq截图那样可以拖动的矩形.

用canvas绘制一个简易时钟

在见识了html5中canvas的强大,笔者准备制作一个简易时钟. 下面就是成果啦,制作之前我们先分析一下,绘制一个时钟需要做哪些准备. 一 . 1.首先这个时钟分为表盘,指针(时针,分针,秒针)和数字三部分. 2.表盘是个圆,这个简单. 3.绘制指针时,需要先获取到系统时间,然后找到时间和角度的关系. 4.然后利用画圆函数,把起始和终点设为同一角度,即可画出射线(指针).  二. 接下来,我们再分析一下,绘制时钟需要用到的函数. 1.arc(x, y, r, start, stop) x, y

QT绘图二:动态绘制一个矩形

本实例还是通过重写QWidget类的虚函数paintEvent来实现矩形的绘制.1.固定矩形的绘制要求(1)要求举行能够随窗口大小动态调整(2)矩形宽度.高度为窗口宽度高度的一半实例效果如下图所示: 2.将上例中矩形变更为动态绘制(1)矩形的四条边逐一绘制完成(2)矩形绘制完成后,在填充中央背景色实例效果如下图所示: 实现思路:<1>以左上角作为起始点(X0,Y0)<2>向右描点达到矩形坐标点(X1,Y0)<3>向下描点到到(X1,Y1)<4>向左描点到达(

HTML5用canvas绘制五星红旗

在HTML5一览中,我们提到html 5被冠以很多高帽,其中最高的一顶.备受争议的就是"Flash杀手".IT评论界老喜欢用这个词了,杀手无处不在.不管是不是杀手,HTML 5引进的一些新特性确实让人兴奋不已.最令人期待的之一就是 canvas元素. 作为HTML5标准的一部分,Canvas元素允许脚本动态渲染点阵图像.这个 HTML 元素是为了客户端矢量图形而设计的.它自己没有行为,但却把一个绘图 API 展现给客户端 javascript 以使脚本能够把想绘制的东西都绘制到一块画布

Android中使用画笔和画布绘制一个矩形

场景 在Android中画笔使用Paint类,画布使用Canvas类来表示. 绘图的基本步骤 首先编写一个继承自View的自定义View类,然后重写其onDraw方法,最后把自定义的view添加到actvity中. 效果 注: 博客: https://blog.csdn.net/badao_liumang_qizhi关注公众号 霸道的程序猿 获取编程相关电子书.教程推送与免费下载. 实现 首先在要显示的Activity的布局文件添加一个id. <?xml version="1.0"

用canvas绘制一个时钟

实现一个时钟的绘制和时间的显示 一,首先是页面的搭建html部分以及一点点的css代码,因为css这块用的比较少,所以就没有单独出来: <!DOCTYPE html><html lang="en"><head>    <meta charset="UTF-8">    <title>时钟</title>    <style type="text/css">    

canvas 绘制圆角矩形

<!DOCTYPE HTML> <head> <meta charset = "utf-8"> <title>canvas</title> <style type="text/css"> #canvas{border:1px solid #eee ; display:block; background-color: #B36666; margin: 20px auto; } </style

HTML5 用 canvas 绘制心形线

笛卡尔的心形线 桃心形 这个桃心比较符合口味..遂决定使用此方程.. 当然还有一些其它方程,如下: 下面就开始写程序了. <!DOCTYPE html> <html> <head> <title>Draw Heart</title> <style type="text/css"> * { margin: 0; padding: 0; } html { height: 100%; margin: 0; } body