HTML5 画一张图

笔者:本笃庆军

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

一、绘制图像

  • 使用drawImage()方法绘制图像。

    画图环境提供了该方法的三个不同版本号。

  • drawImage(image,x,y) : 在canvas中(x,y)处绘制图片。
  • drawImage(image,x,y,width,height) : 在canvas中(x,y)处绘制图片。并将其缩放到指定的宽度和高度。
  • drawImage(image,sourceX,sourceY,sourceWidth,sourceHeight,x,y,width,height) : 从图片中分割出一个矩形区域(sourceX,sourceY,sourceWidth,sourceHeight)。缩放到指定的宽度和高度。并在canvas中(x,y)绘制出来。

二、<img>标签

绘制图片前,还须要将图片载入到浏览器中。这里我们只在canvas标签后面加入一个<img>标签。

<img src = "tk.jpg" id = "tkjpg">

三、绘制图片

<!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');
			//获取图片对象的引用
			var image = document.getElementById('tkjpg');
			//在(0,50)处绘制图片
			context.drawImage(image,0,50);
			//缩小图片至原来的一半大小
			context.drawImage(image,200,50,165/2,86/2);
			//绘制图片的局部(从左上角開始分割0.7的图片)
			context.drawImage(image,0,0,0.7*165,0.7*86,300,70,0.7*165,0.7*86);
		}
	</script>
</head>
<body onload="pageLoaded();">
	<canvas width = "500" height = "200" id = "tCanvas" style = "border:black 1px solid;">
	 	<!--假设浏览器不支持则显演示样例如以下字体-->
		提示:你的浏览器不支持<canvas>标签
	</canvas>
	<img src = "tk.jpg" id = "tkjpg">
</body>
</html>

四、绘制效果

五、附上原坦克素材

參考文献:(印)香卡(Shankar,A.R.)(作者).谢光磊(译者).HTML5游戏开发进订购指南[M].北京:电子工业出版社,2013.9-10.

版权声明:本文博主原创文章,博客,未经同意不得转载。

时间: 2024-08-24 04:43:41

HTML5 画一张图的相关文章

两张图简说代理服务器和反向代理服务器

题记:今天给同事讲解代理服务器和反向代理服务器时,画了张图进行说明. 代理服务器通常分为两类,即转发代理(forward proxy)服务器和反向代理(reverse proxy)服务器.转发代理服务器又通常简称为代理服务器,我们常提到的代理服务器就指的是转发代理服务器. 转发代理服务器 普通的转发代理服务器是客户端与原始服务器之间的一个中间服务器.为了从原始服务器获取内容,客户端发送请求到代理服务器,然后代理服务器从原始服务器中获取内容再返回给客户端.客户端必须专门地配置转发代理来访问其他站点

互联网协议一张图

观 阮老师的互联网协议 ,自己根据阮老师的分析 画一张图 以记录,学习.

一张图帮你记忆,Spring Boot 应用在启动阶段执行代码的几种方式

前言 有时候我们需要在应用启动时执行一些代码片段,这些片段可能是仅仅是为了记录 log,也可能是在启动时检查与安装证书 ,诸如上述业务要求我们可能会经常碰到 Spring Boot 提供了至少 5 种方式用于在应用启动时执行代码.我们应该如何选择?本文将会逐步解释与分析这几种不同方式 CommandLineRunner CommandLineRunner 是一个接口,通过实现它,我们可以在 Spring 应用成功启动之后 执行一些代码片段 @Slf4j @Component @Order(2)

python—networkx:在一张图中画出多个子图

通过plt.subplot能够在一张图中画出多个子图 #coding: utf-8 #!/usr/bin/env python """ Draw a graph with matplotlib. You must have matplotlib for this to work. """ __author__ = """Aric Hagberg ([email protected])"""

玩转html5(二)----用canvas结合脚本在画布上画简单的图(html5又一强大功能)

在html5中可以使用canvas标签在画布上画图,先直接上代码,这篇文章先简单介绍一下canvas的使用方法,简单画几个圆,矩形,三角形,写字. 在代码中均给出了注释,在这里特别强调的一点是:使用canvas画图时有时候必须beginPath和colsePath,但有时不需要,为了防止出现问题,可以在每次重新画一个图时重新开启路径,画完后关闭路径. 这些代码是在猎豹浏览器上实现的,有些浏览器可能不支持. <!DOCTYPE html> <meta charset="utf-8

MATLAB在一张图上画出多条曲线

在matlab中,经常遇到画图问题,甚至,有时候需要把其他软件中的数据,导出来,用matlab处理. 此处给出,用matlab处理数据的一些简单方法. 参考资料: MATLAB多条曲画到一张图上 MATLAB plot画出多条不同颜色的曲线 原文地址:https://www.cnblogs.com/Aaron12/p/9938695.html

一张图了解磁盘里的数据结构

写在前面的话:前面两篇对硬盘进行了介绍,<理解硬盘><再来理解一下硬盘>,这篇就说说磁盘上的数据结构,看看磁盘是怎么利用的. ====正文开始===== 有了文件系统,使我们对文件的访问变得很容易,不用考虑文件到底存在哪里,怎么存的,不过适当了解一下底层文件存储还是有帮助的.我们知道文件不仅仅能够存储在磁盘上,还可以存储在光盘等设备上,对于存储在硬盘上的,对于不同的硬盘内部存储介质,如磁性盘面.闪存(SSD固态硬盘存储介质)存储结构也是不同的:对于同样的存储介质的磁盘,不同的文件系

【算法】7 一张图体会栈和队列

栈和队列 学过没学过算法的应该都听过栈和队列了吧,往往容易弄混的就是"后进先出"和"先进先出"了. 今天又看到了"河内塔"的相关资料,也被称为"汉诺塔"等.于是就想到了画出下面这样的图案. 如果大家觉得这张图不错可以直接右键另存为哦,记得点赞哈~ 那么,关于栈和队列下面就直接列出相关操作的伪代码咯. 栈 STACK-EMPTY(S) 1 if S.top==0 2 return TRUE 3 else 4 return FLA

Excel2010画动态甘特图

哈哈!你居然真的看简介点进来啦,我也想八一八Henry gantt本人的故事,可是我查了好些资料,一个槽点都没有发现,不过人生经历还是可以了解下: 此人活了58年,生前是一个中规中距的机械工程师&项目管理(PM),活在资本主义螺丝钉,发表过几篇不痛不痒关于项目管理方面的论文和书,可是(人生大转折哇) 在55岁那一年,积累了那么多年的经验,终于顿悟,发明了gantt图,并于同一年发表了 Industrial leadership, 再之后,夜以继日(脑补剧情)地工作,终于在58岁那年又发表了一篇p