html5 canvas防微博旋转
<!doctype html>
<html>
<head>
<meta charset="utf-8">
<title>无标题文档</title>
<script>
window.onload = function ()
{
var oimg = document.getElementById('img1');
var ainput = document.getElementsByTagName('input');
var inum = 0; var yimg = new Image();
yimg.onload = function ()
{
draw(oimg);
} yimg.src = oimg.src; function draw(obj)
{
var oc = document.createElement('canvas');
var ogc = oc.getContext('2d'); oc.width = obj.width;
oc.height = obj.height; obj.parentNode.replaceChild(oc,obj);
ogc.drawImage(obj,0,0); ainput[1].onclick = function ()
{
if(inum == 3)
{
inum = 0;
}
else
{
inum ++;
} tochange();
} ainput[0].onclick = function ()
{
if(inum == 0)
{
inum = 3;
}
else
{
inum --;
} tochange();
} function tochange()
{
switch(inum)
{
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;
case 0:
oc.width = obj.width;
oc.height = obj.height;
ogc.rotate(0);
ogc.drawImage(obj,0,0)
break;
}
}
} }
</script>
<style>
body{
background:pink;
}
#c1{
background:white;
}
</style>
</head> <body>
<input type="button" value="←"/>
<input type="button" value="→"/>
<div>
<img id="img1" src="img/5-5.jpg">
</div>
</body>
</html>
html5 canvas防微博旋转的更多相关文章
- html5 canvas围绕中心点旋转
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/ ...
- HTML5 Canvas 小例子 旋转的图片
<一>CSS部分 @charset "utf-8"; *{ padding:; margin:; outline: none; } #canvas{ position: ...
- HTML5 Canvas 小例子 旋转的时钟
<!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <title> ...
- 基于 HTML5 Canvas 的智能安防 SCADA 巡逻模块
基于 HTML5 Canvas 的智能安防 SCADA 巡逻模块 前言 最近学习了 HT for Web flow 插件,除了正常的 flow 效果,其中还有两个十分好用的两个接口 getPercen ...
- Html5 Canvas动画旋转的小方块;
<!DOCTYPE html> <html> <head> <meta charset="utf-8"> <meta http ...
- html5 canvas旋转
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/ ...
- HTML5 Canvas 绘制旋转45度佛教万字
效果如下: 代码如下: <!DOCTYPE html> <html lang="utf-8"> <meta http-equiv="Cont ...
- HTML5 canvas画图
HTML5 canvas画图 HTML5 <canvas> 标签用于绘制图像(通过脚本,通常是 JavaScript).不过,<canvas> 元素本身并没有绘制能力(它仅仅是 ...
- HTML5 程序设计 - 使用HTML5 Canvas API
请你跟着本篇示例代码实现每个示例,30分钟后,你会高喊:“HTML5 Canvas?!在哥面前,那都不是事儿!” 呵呵.不要被滚动条吓到,很多都是代码和图片.我没有分开写,不过上面给大家提供了目录,方 ...
随机推荐
- BZOJ 2173 整数的lqp拆分
题目链接:http://61.187.179.132/JudgeOnline/problem.php?id=2173 题意:给出输出n.设一种拆分为n=x1+x2+x3,那么这种拆分的价值为F(x1) ...
- computer使用快捷小技巧
1.快速打开运行 win+R 几个运行实用命令 notepad--------打开记事本 mspaint--------画图板 calc-----------启动计算器 compmgmt.msc-- ...
- 无锁编程(四) - CAS与ABA问题
CAS 一般采用原子级的read-modify-write原语来实现Lock-Free算法,其中LL和SC是Lock-Free理论研究领域的理想原语,但实现这些原语需要CPU指令的支持,非常遗憾的是目 ...
- android下身份验证方式调用webservice
在企业开发领域,webservice还是经常被用到的服务体系,因为他对安全事务支持都比较好. 有时候,我们就需要在android下调用后端的webservice服务,因为在内部网络环境下,所有需要ba ...
- BZOJ 2151 种树
贪心+priority_queue. #include<iostream> #include<cstdio> #include<cstring> #include& ...
- Android 程序员必须掌握的三种自动化测试方法
在日常的开发中,尤其是app开发,因为不像web端那样 出错以后可以热更新,所以app开发 一般对软件质量有更高的要求(你可以想一下 一个发出去的版本如果有重大缺陷 需要强制更新新客户端是多么蛋疼的事 ...
- 构建通过 Database.com 提供技术支持的 PhoneGap 应用程序
要求 其他必要产品 Database.com account 用户级别 全部 必需产品 PhoneGap Build 范例文件 Database.Com-PhoneGap-Sample 在这篇文章中, ...
- Javascript的匿名函数
一.什么是匿名函数?在Javascript定义一个函数一般有如下三种方式:函数关键字(function)语句:function fnMethodName(x){alert(x);}函数字面量(Func ...
- 常见排序算法基于JS的实现
一:冒泡排序 1. 原理 a. 从头开始比较相邻的两个待排序元素,如果前面元素大于后面元素,就将二个元素位置互换 b. 这样对序列的第0个元素到n-1个元素进行一次遍历后,最大的一个元素就“沉”到序列 ...
- XSS 前端防火墙(4):天衣无缝的防护
例如,我们的属性钩子只考虑了 setAttribute,却忽视还有类似的 setAttributeNode.尽管从来不用这方法,但并不意味人家不能使用. 例如,创建元素通常都是 createEleme ...