canvas实现图片围绕左上角一点进行旋转
来源:互联网 发布:js去除数组重复元素 编辑:程序博客网 时间:2024/06/05 20:08
canvas插入图片,需要先在onload事件中预加载图片,然后在用drawImage()方法插入图片。
<!DOCTYPE html><html> <head> <meta charset="utf-8"> <title></title> </head> <body> <input type="button" value="逆时针" /> <input type="button" value="顺时针" /> <div id=""> <img src="img/code.jpg" id="myimg"/> </div> </body> <script> window.onload = function(){ var aInput = document.getElementsByTagName('input'); var oImg = document.getElementById('myimg'); var yImg = new Image(); var isNow = 0; yImg.onload = function(){ draw(oImg); } yImg.src = oImg.src; function draw(obj){ var oC = document.createElement('canvas');//创建canvas节点用来替换img节点 var oGc = oC.getContext('2d'); //将canvas的宽高和图片宽高设置成一样的 oC.width = obj.width; oC.height = obj.height; obj.parentNode.replaceChild(oC,obj); oGc.drawImage(obj,0,0); aInput[0].onclick = function(){ if (isNow == 0) { isNow = 3; } else{ isNow--; } tochange(); } aInput[1].onclick = function(){ if (isNow ==3) { isNow = 0; } else{ isNow++; } tochange(); } function tochange(){ switch (isNow){ case 0: oC.width = obj.width; oC.height = obj.height; oGc.rotate(0); oGc.drawImage(obj,0,0); break; case 1: oC.width = obj.height; oC.height = obj.width; oGc.rotate(90*Math.PI/180); oGc.drawImage(obj,0,-obj.height); break; case 2: oC.width = obj.width; oC.height = obj.height; oGc.rotate(180*Math.PI/180); oGc.drawImage(obj,-obj.width,-obj.height); break; case 3: oC.width = obj.height; oC.height = obj.width; oGc.rotate(270*Math.PI/180); oGc.drawImage(obj,-obj.width,0); break; default: break; } } } } </script></html>
阅读全文
0 0
- canvas实现图片围绕左上角一点进行旋转
- canvas绘图 -实现图片围绕中心点旋转
- 用canvas实现围绕旋转动画
- 动画效果,几张图片围绕一点旋转
- 围绕中心点进行旋转
- Unity3d实现物体围绕某一点进行旋转
- canvas实现图片旋转缩放
- android Bitmap围绕一个点进行旋转
- android Bitmap围绕一个点进行旋转
- 设置图片围绕旋转中心点(OPENGL | ES)
- 使用HTML5 canvas 标签进行图片裁剪、旋转、缩放
- 围绕旋转
- canvas 图片旋转
- Rotate实现围绕中心旋转动画
- Unity实现摄像机围绕物体旋转
- canvas实现旋转联动
- 某张图片围绕自身旋转的动画
- canvas旋转图片(javascript)
- 修改input的file控件的样式,但是不修改他本身的属性
- 消息队列RabbitMq的五种形式队列
- 第10章 沟通障碍
- arkit-tictactoe:ARKit 外加简单交互,实现 AR 场景的三连棋游戏演
- EditText 设置点击事件
- canvas实现图片围绕左上角一点进行旋转
- 阿里巴巴2016研发工程师笔试题(四)
- 第八章 符号连接与硬连接
- rust 变量基础
- 【Linux 虚拟机】关于Win7与虚拟机Linux互通ping的网络设置
- 基于深度学习神经网络等机器学习技术实现一个医学辅助诊断的专家系统原型
- 第11章 鞋匠与将军
- Flume
- Java 读写Properties配置文件