• linkedu视频
  • 平面设计
  • 电脑入门
  • 操作系统
  • 办公应用
  • 电脑硬件
  • 动画设计
  • 3D设计
  • 网页设计
  • CAD设计
  • 影音处理
  • 数据库
  • 程序设计
  • 认证考试
  • 信息管理
  • 信息安全
菜单
linkedu.com专业计算机教程网站
  • 网页制作
  • 数据库
  • 程序设计
  • 操作系统
  • CMS教程
  • 游戏攻略
  • 脚本语言
  • 平面设计
  • 软件教程
  • 网络安全
  • 电脑知识
  • 服务器
  • 视频教程
  • html/xhtml
  • html5
  • CSS
  • XML/XSLT
  • Dreamweaver教程
  • Frontpage教程
  • 心得技巧
  • bootstrap
  • vue
  • AngularJS
  • HBuilder教程
  • css3
  • 浏览器兼容
  • div/css
  • 网页编辑器
  • axure
您的位置:首页 > 网页设计 >html5 > 详解通过HTML5 Canvas实现图片的平移及旋转变化的方法

详解通过HTML5 Canvas实现图片的平移及旋转变化的方法

作者:Airing 字体:[增加 减小] 来源:互联网 时间:2017-08-06

本文主要包含HTML5,Canvas,平移,旋转等相关知识,Airing 希望在学习及工作中可以帮助到您

平移变换translate()
平移变换,故名思议,就是一般的图形位移。比如这里我想将位于(100,100)的矩形平移至(200,200)点。那么我只要在绘制矩形之前加上context.translate(100,100)即可。

这里的translate()只传入两个参数,其实就是新画布坐标系原点的坐标。下面结合代码来看看效果。

  1. <!DOCTYPE html>  
  2. <html lang="zh">  
  3. <head>  
  4.     <meta charset="UTF-8">  
  5.     <title>平移变换</title>  
  6.     <style>  
  7.         body { background: url("./images/bg3.jpg") repeat; }   
  8.         #canvas { border: 1px solid #aaaaaa; display: block; margin: 50px auto; }   
  9.     </style>  
  10. </head>  
  11. <body>  
  12. <div id="canvas-warp">  
  13.     <canvas id="canvas">  
  14.         你的浏览器居然不支持Canvas?!赶快换一个吧!!   
  15.     </canvas>  
  16. </div>  
  17.   
  18. <script>  
  19.     window.onload = function(){   
  20.         var canvas = document.getElementById("canvas");   
  21.         canvas.width = 800;   
  22.         canvas.height = 600;   
  23.         var context = canvas.getContext("2d");   
  24.         context.fillStyle = "#FFF";   
  25.         context.fillRect(0,0,800,600);   
  26.   
  27.         context.fillStyle = "#00AAAA";   
  28.         context.fillRect(100,100,200,100);   
  29.   
  30.         context.fillStyle = "red";   
  31.         context.translate(100,100);   
  32.         context.fillRect(100,100,200,100);   
  33.   
  34.     };   
  35. </script>  
  36. </body>  
  37. </html>  

运行结果:
2016322112903186.jpg (850×500)

这里的蓝色矩形,是矩形原来的位置,然后调用translate()方法,将矩形位移至(200,200),即红色矩形的位置。我们来用一张图看看,它是怎么做到平移变换的。
2016322112934958.jpg (850×500)

没错,其实这里的平移变换实质就是在平移坐标系,而对translate()传入的参数,实质就是新坐标系相对于旧坐标系的原点。这使得我们依旧是在(100,100)绘制的红色矩形,在平移坐标系之后,变到了(200,200)处。

注意使用状态保存:
其实这里有一个坑,我们如果想把矩形平移至(300,300)怎么办呢?或许我们会想,直接调用context.translate(200,200)就可以了。好,我们看看效果。

您可能想查找下面的文章:

  • HTML5知识点总结
  • HTML5的本地存储
  • HTML5本地存储之IndexedDB
  • Html5实现文件异步上传功能
  • Html5新标签datalist实现输入框与后台数据库数据的动态匹配
  • 详解HTML5 window.postMessage与跨域
  • HTML5拖放API实现拖放排序的实例代码
  • 解决html5中video标签无法播放mp4问题的办法
  • HTML5新特性 多线程(Worker SharedWorker)
  • Html5新增标签有哪些

相关文章

  • 2018-12-03炫酷实用的jQuery/HTML5菜单图文详解
  • 2017-08-06html5画布旋转效果示例
  • 2017-08-06html5 Canvas画图教程(7)—canvas里画曲线之quadraticCurveTo方法
  • 2018-12-03html5中video标签的详细介绍
  • 2018-12-03SVG(可缩放矢量图形)虚线相关属性与线条动画原理:一条会动的线
  • 2018-12-03详解html5图片上传支持图片预览压缩及进度显示兼容IE6及标准浏览器
  • 2018-12-03HTML5 CANVAS:绘制图片
  • 2018-12-03javascript html5 canvas实现可拖动省份的中国地图
  • 2018-12-03最近微信出现的HTML5的邀请函?
  • 2017-08-06浅谈h5自定义audio(问题及解决)

文章分类

  • html/xhtml
  • html5
  • CSS
  • XML/XSLT
  • Dreamweaver教程
  • Frontpage教程
  • 心得技巧
  • bootstrap
  • vue
  • AngularJS
  • HBuilder教程
  • css3
  • 浏览器兼容
  • div/css
  • 网页编辑器
  • axure

最近更新的内容

    • HTML5进度条特效
    • html5画布旋转效果示例_html5教程技巧
    • HTML5新表单元素的图文实例
    • [HTML5游戏开发]挑战横版ACT(二):秀身手勇猛如当年
    • 20佳惊艳的HTML5应用程序示例分享_html5教程技巧
    • Html5 Canvas初探学习笔记(13) -图片变换
    • 本人想去培训机构学习编程,培训html5 还是 ios 还是安卓好呢?
    • 用HTML5画一个3D的三角形网格
    • phonegap使用方法介绍(三)克隆和删除联系人
    • 如何解决微信通过H5页面直接打开本地app

关于我们 - 联系我们 - 免责声明 - 网站地图

©2020-2025 All Rights Reserved. linkedu.com 版权所有