--------------复制而来--原地址http://jingyan.baidu.com/article/ed15cb1b2e642a1be369813e.html

HTML5 Canvas绘图如何使用

<Canvas>是一个新的HTML元素,这个元素可以被Script语言(通常是JavaScript)用来绘制图形。例如可以用它来画图、合成图象、或做简单的(和不那么简单的)动画。

工具/原料

  • html

  • script

步骤/方法

  1. 1

    最常见的在canvas上画图的方法是使用Image对象。所支持的来源图片格式依赖于浏览器的支持,然而,一些典型的图片格式(png,jpg,gif等)基本上都没有问题。

  2. 2

    在下面的所有例子中,图片源将会使用这张256×256尺寸的图片。

  3. 3

    绘制图片:在最基本的画图操作中,你需要的只是希望图像出现处的位置(x和y坐标)。图像的位置是相对于其左上角来判断的。使用这种方法,图像可以简单的以其原尺寸被画在画布上。

  4. 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. 5

    根据所写代码生成网页效果

  6. 6
  7. 7

    图片变形:改变图像的尺寸,你需要使用重载的drawImage函数,提供给它希望的宽度和高度参数。

  8. 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. 9

    这个例子演示了如何画一个比原图小的图像,一个不同长宽比的图像和一个比原图大的图像的方法。

  10. 10

    图片裁剪:drawImage方法的功用是对图像进行裁剪。drawImage(image,sourceX,sourceY,sourceWidth,sourceHeight,destX,destY,destWidth, destHeight)

  11. 11

    参数很多,但基本上你可以把它想成从原图中取出一个矩形区域,然后把它画到画布上目标区域里。

  12. 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. 13

    根据代码生成网页效果

  14. 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绘图如何使用的更多相关文章

  1. HTML5 canvas绘图基本使用方法

    <canvas></canvas>是HTML5中新增的标签,用于绘制图形,实际上,这个标签和其他的标签一样,其特殊之处在于该标签可以获取一个CanvasRenderingCon ...

  2. HTML5 canvas绘图

    HTML5 canvas画图 示例 ------- <!DOCTYPE html> <head> <meta charset="UTF-8"> ...

  3. HTML5 Canvas绘图详解 drawImage() 方法 有图有真相!

    步骤 1 2 3 4 5   简介 是一个新的HTML元素,这个元素可以被Script语言(通常是JavaScript)用来绘制图形.例如可以用它来画图.合成图象.或做简单的(和不那么简单的)动画. ...

  4. HTML5 Canvas绘图基本使用方法, H5使用Canvas绘图

    Canvas 是H5的一部分,允许脚本语言动态渲染图像.Canvas 定义一个区域,可以由html属性定义该区域的宽高,javascript代码可以访问该区域,通过一整套完整的绘图功能(API),在网 ...

  5. HTML5 Canvas绘图系列之一:圆弧等基础图形的实现

    之前的一个微信项目已经要结项了,最近整理一下项目中使用较多的canvas画图方面的知识吧,打算写个3,4篇的样子.本篇主要介绍基础操作和弧线画法. 之后再写一下趋势图,直方图,文本图像处理的. 言归正 ...

  6. [html5] canvas 绘图:八卦图

    <!DOCTYPE HTML> <html> <head> <meta charset="utf-8" /> <title&g ...

  7. HTML5 Canvas 绘图

    首先要注意: <canvas> 元素不被一些老的浏览器所支持, 但被支持于Firefox 1.5+, Opera 9+, 新版本的Safari, Chrome, 以及Internet Ex ...

  8. HTML5 canvas 绘图步骤

    1.先把canvas选出来,不选出来你往哪儿画! var oCan=  document.getElementById('xxx'); 2.声明基于 canvas 的context对象,没他你怎么调用 ...

  9. HTML5 canvas绘图基础(电子名片生成器源码)

    创建canvas <canvas id="myCanvas" class="canvas"> 您的浏览器不支持canvas </canvas& ...

随机推荐

  1. 梁国辉获Yes评分表系统3.0计算机软件著作权

    梁国辉获Yes评分表系统3.0计算机软件著作权 Liang Guohui won the Yes score system 3 computer software copyright 登记证书如下 R ...

  2. Docker 部署 halo 启动时,MySql 连接不上

    原因 halo 是部署在 docker 容器内部的,而 MySql 是部署在"宿主机"上的,docker默认的网络模式是bridge,容器内127.0.0.1访问不到的,把网络模式 ...

  3. 查看 Nginx 的日志目录

    即便是 docker 容器,对应的目录也是一样的 > /var/log/nginx/xxx.log

  4. 霍夫变换(Hough Transform)

    霍夫变换是图像处理中从图像中识别几何形状的基本方法之一,应用很广泛,也有很多改进算法.最基本的霍夫变换是从黑白图像中检测直线(线段). 我们先看这样一个问题: 设已知一黑白图像上画了一条直线,要求出这 ...

  5. EntityFramework 迁移遇到的问题

    2019独角兽企业重金招聘Python工程师标准>>> 添加迁移add-migration migrationname 更新数据Update-Database EntityFrame ...

  6. 5分钟入门pandas

    pandas是在数据处理.数据分析以及数据可视化上都有比较多的应用,这篇文章就来介绍一下pandas的入门.劳动节必须得劳动劳动 1. 基础用法 以下代码在jupyter中运行,Python 版本3. ...

  7. Android APK 重签名

    对APK 进行在线 加固后,Apk体积一般会变大,而且Apk会无法直接安装,因为缺少了你的签名.是的,你需要对这个Apk进行重签名. 如何重签名 重签名的方法,一般来说,有两种,第一种是用JDK自带的 ...

  8. C语言设计实验报告(二)

    C程序设计实验报告姓 名:赖瑾 实验地点:家 实验时间:2020年3月9日 实验项目:2.3.3 字符与ASCLL码 2.3.4 运算符与表达式的运用 2.3.5 顺序结构应用程序 3.3.1 数学函 ...

  9. F - Qualification Rounds CodeForces - 868C 二进制

    F - Qualification Rounds CodeForces - 868C 这个题目不会,上网查了一下,发现一个结论就是如果是可以的,那么两个肯定可以满足. 然后就用二进制来压一下这个状态就 ...

  10. spring mvc 实现文件上传

    例:用户注册提交一个头像文件 第一步,创建项目 ,导入jar包 做文件上传除了要导入spring常规的jar包外,还要导入commons-fifileupload和commons-io这两个jar包. ...