HTML5 Canvas绘图如何使用
--------------复制而来--原地址http://jingyan.baidu.com/article/ed15cb1b2e642a1be369813e.html
HTML5 Canvas绘图如何使用
<Canvas>是一个新的HTML元素,这个元素可以被Script语言(通常是JavaScript)用来绘制图形。例如可以用它来画图、合成图象、或做简单的(和不那么简单的)动画。
工具/原料
html
script
步骤/方法
- 1
最常见的在canvas上画图的方法是使用Image对象。所支持的来源图片格式依赖于浏览器的支持,然而,一些典型的图片格式(png,jpg,gif等)基本上都没有问题。
 - 2
在下面的所有例子中,图片源将会使用这张256×256尺寸的图片。

 - 3
绘制图片:在最基本的画图操作中,你需要的只是希望图像出现处的位置(x和y坐标)。图像的位置是相对于其左上角来判断的。使用这种方法,图像可以简单的以其原尺寸被画在画布上。
 - 4
代码如下
<canvas id="myCanvas" width="600" height="600"></canvas>
<script type="text/javascript">
var myImage=document.getElementById("myCanvas");
var cxt=myImage.getContext("2d");
var img=new Image();
img.src="tu0.jpg";
cxt.drawImage(img,50,50);
cxt.drawImage(img,125,125);
cxt.drawImage(img,210,210);
</script>
 - 5
根据所写代码生成网页效果
 - 6
 - 7
图片变形:改变图像的尺寸,你需要使用重载的drawImage函数,提供给它希望的宽度和高度参数。
 - 8
代码如下
<canvas id="myCanvas" width="256" height="256"></canvas>
<script type="text/javascript">
var myImage=document.getElementById("myCanvas");
var cxt=myImage.getContext("2d");
var img=new Image();
img.src="tu0.jpg";
cxt.drawImage(img,50,50,100,100);
cxt.drawImage(img,125,125,200,50);
cxt.drawImage(img,210,210,500,500);
</script>
 - 9
这个例子演示了如何画一个比原图小的图像,一个不同长宽比的图像和一个比原图大的图像的方法。
 - 10
图片裁剪:drawImage方法的功用是对图像进行裁剪。drawImage(image,sourceX,sourceY,sourceWidth,sourceHeight,destX,destY,destWidth, destHeight)
 - 11
参数很多,但基本上你可以把它想成从原图中取出一个矩形区域,然后把它画到画布上目标区域里。
 - 12
代码如下
<canvas id="myCanvas" width="256" height="256"></canvas>
<script type="text/javascript">
var myImage=document.getElementById("myCanvas");
var cxt=myImage.getContext("2d");
var img=new Image();
img.src="tu0.jpg";
cxt.drawImage(img,0,0,50,50,25,25,100,100);
cxt.drawImage(img,125,125,100,100,125,125,150,150);
cxt.drawImage(img,80,80,100,100,250,250,220,220);
</script>
 - 13
根据代码生成网页效果
 - 14
这些就是HTML5中的canvas(画布)标记里进行绘图和处理图像的基本操作。
END 
注意事项
<canvas>最先在苹果公司(Apple)的Mac OS X
Dashboard上被引入,而后被应用于Safari。基于Gecko1.8的浏览器,例如Firefox
1.5,也支持这个新元素。元素<canvas>是WhatWG Web applications 1.0也就是大家都知道的HTML
5标准规范的一部分。IE浏览器暂不支持。
HTML5 Canvas绘图如何使用的更多相关文章
- HTML5 canvas绘图基本使用方法
		
<canvas></canvas>是HTML5中新增的标签,用于绘制图形,实际上,这个标签和其他的标签一样,其特殊之处在于该标签可以获取一个CanvasRenderingCon ...
 - HTML5 canvas绘图
		
HTML5 canvas画图 示例 ------- <!DOCTYPE html> <head> <meta charset="UTF-8"> ...
 - HTML5 Canvas绘图详解 drawImage() 方法 有图有真相!
		
步骤 1 2 3 4 5 简介 是一个新的HTML元素,这个元素可以被Script语言(通常是JavaScript)用来绘制图形.例如可以用它来画图.合成图象.或做简单的(和不那么简单的)动画. ...
 - HTML5 Canvas绘图基本使用方法, H5使用Canvas绘图
		
Canvas 是H5的一部分,允许脚本语言动态渲染图像.Canvas 定义一个区域,可以由html属性定义该区域的宽高,javascript代码可以访问该区域,通过一整套完整的绘图功能(API),在网 ...
 - HTML5  Canvas绘图系列之一:圆弧等基础图形的实现
		
之前的一个微信项目已经要结项了,最近整理一下项目中使用较多的canvas画图方面的知识吧,打算写个3,4篇的样子.本篇主要介绍基础操作和弧线画法. 之后再写一下趋势图,直方图,文本图像处理的. 言归正 ...
 - [html5] canvas 绘图:八卦图
		
<!DOCTYPE HTML> <html> <head> <meta charset="utf-8" /> <title&g ...
 - HTML5 Canvas 绘图
		
首先要注意: <canvas> 元素不被一些老的浏览器所支持, 但被支持于Firefox 1.5+, Opera 9+, 新版本的Safari, Chrome, 以及Internet Ex ...
 - HTML5 canvas 绘图步骤
		
1.先把canvas选出来,不选出来你往哪儿画! var oCan= document.getElementById('xxx'); 2.声明基于 canvas 的context对象,没他你怎么调用 ...
 - HTML5 canvas绘图基础(电子名片生成器源码)
		
创建canvas <canvas id="myCanvas" class="canvas"> 您的浏览器不支持canvas </canvas& ...
 
随机推荐
- GDI+ 绘制砂岩含量图版
			
图版是在工作中经常会使用到的工具,它能够大大提高我们日常工作效率.地质图版在地质工作中具有举足轻重的作用,不仅可以轻松判断岩性,也可以依据经验图版直接得到结果,十分方便. 本程序目的绘制出一个地质常用 ...
 - SpringBoot应用操作Rabbitmq(direct高级操作)
			
一.首先声明完成任务架构,通过direct订阅/发布的模式进行生产消费. a.消息生产指定交换器和路由key b.消费者绑定交换器,路由key和队列的关系(集群监控收到的消息不重复) 二.实战演练 1 ...
 - Apple Watch Series 6或将增加焦虑监测和睡眠追踪功能
			
一条新的泄露消息称,Apple Watch Series 6 将增加心理健康功能,延长电池续航时间,并对现有传感器进行扩展,这样设备可以测量血液含氧量.苹果即将更新的 Apple Watch 新款推测 ...
 - 【Linux题目】第五关
			
1. 如何取得/etiantian文件的权限对应的数字内容,如-rw-r-r 为644,要求使用命令取得644或0644这样的数字. 解答: 方法1:用sed获取stat filename里的属性值 ...
 - xml文件错误
			
2019独角兽企业重金招聘Python工程师标准>>> xml文件错误The processing instruction target matching "[xX][mM ...
 - 【STM32 .Net MF开发板学习-05】PC通过Modbus协议远程操控开发板
			
从2002年就开始接触Modbus协议,以后陆续在PLC.DOS.Windows..Net Micro Framework等系统中使用了该协议,在我以前写的一篇博文中详细记载了这一段经历,有兴趣的朋友 ...
 - DVWA-对Command Injection(命令注入)的简单演示与分析
			
前言 上一篇文章中,对命令注入进行了简单的分析,有兴趣的可以去看一看,文章地址 https://www.cnblogs.com/lxfweb/p/12828754.html,今天这篇文章以DVWA的C ...
 - 消息队列,RabbitMQ、Kafka、RocketMQ
			
目录 1.消息列队概述 1.1消息队列MQ 1.2AMQP和JMS 1.2.1AMQP 1.2.2JMS 1.2.3AMOP 与 JMS 区别 1.3消息队列产品 1.3.1 Kafka 1.3.2 ...
 - Java——Java面向对象
			
该系列博文会告诉你如何从入门到进阶,一步步地学习Java基础知识,并上手进行实战,接着了解每个Java知识点背后的实现原理,更完整地了解整个Java技术体系,形成自己的知识框架. 概述: Java是面 ...
 - POJ3255(次最短路)
			
描述 求1到n的次最短路 开个\(dis[maxn][2]\)的储存距离的二维数组,0储存最短路,1储存次短路 初始化全为正无穷,\(dis[1][0]=0;\) 然后遍历更新时,先尝试更新最短路和次 ...