`
天梯梦
  • 浏览: 13747008 次
  • 性别: Icon_minigender_2
  • 来自: 洛杉矶
社区版块
存档分类
最新评论
阅读更多

 

1. jquery rotate插件 (不支持连续旋转,有动画效果)

 

参看:http://wilq32.adobeair.pl/jQueryRotate/Wilq32.jQueryRotate.html

 

 

<img id="image3" src="http://i53.tinypic.com/181we8.jpg">

<script type="text/javascript" src="jquery.js"></script>
<script type="text/javascript" src="jQueryRotate.js"></script>
<script type="text/javascript">
	$(document).ready(function()
	{
		$('#image3').rotate({maxAngle:25,minAngle:-55,
		bind:
			[
				{"mouseover":function(){$(this).rotateAnimation(85);}},
				{"mouseout":function(){$(this).rotateAnimation(-35);}}
			]
		});

		$('#image2').rotateAnimation({angle:5});
		
		$('#image').rotate(-25);
		
	});
</script>
 

 

Usage:

jQuery(imgElement).rotate(angleValue)

jQuery(imgElement).rotate(parameters)

jQuery(imgElement).rotateAnimation(parameters)

          jQuery(imgElement).rotateAnimation(parameters)

 

 

Returns:

jQueryRotateElement - !!! NOTICE !!! function return rotateElement instance to help connect events with actually created 'rotation' element.

 

Parameters:

    ({angle:angleValue,

     [preservePosition:preservePositionBoolean],

     [animateAngle:animateAngleValue],

     [maxAngle:maxAngleValue],

     [minAngle:minAngleValue],

     [callback:callbackFunction],

     [animatedGif:animatedGifBoolean],

     [bind:[{event: function},{event:function} ] })

jQuery(imgElement).rotateAnimation

 

Where:

- angleValue - clockwise rotation given in degrees,

- [preservePositionBoolean] (boolean) - optional parameter, preserves an image position  instead of increasing size for bounding box

- [animateAngleValue] - optional parameter, animate rotating into this value,

- [maxAngleValue] - optional parameter, maximum angle possible for animation,

- [minAngleValue] - optional parameter, minimum angle possible for animation,

- [callbackFunction] - optional function to run after animation complete,

- [animatedGifBoolean](boolean) - optional set to display animated gif in firefox/chrome/safari !!! this might slow down browser because it need to render image again and again to display animation,

- [bind: [ {event: function}...] -optional parameter, list of events binded to newly created rotateable object

 

 

2. jquery rotate插件 (支持连续旋转, 动画效果)

 

参看: http://code.google.com/p/jquery-rotate/

 

 

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"> 
<html xmlns="http://www.w3.org/1999/xhtml"> 
<head> 
<meta http-equiv="Content-Type" content="text/html; charset=utf-8"> 
<title>jQuery 任意角度旋转</title> 
<style type="text/css"> 
body {padding: 0; margin: 0;}  
body,html{height: 100%;}  
#outer {width: 100%; height: 100%; overflow: hidden; position: relative; } 
#middle { *position: absolute; top: 50%; *left: 50%; text-align:center; } /* for explorer only*/  
#middle[id] { display: table-cell; vertical-align: middle; position: static; *position: absolute; } 
#inner {position: relative; top: -50%; *left: -50%; margin: 0 auto; } /* for explorer only */ 
#outer[id] {display: table; position: static;} 
</style> 
<script type="text/javascript" src="https://ajax.googleapis.com/ajax/libs/jquery/1.4.4/jquery.min.js"></script> 
<script type="text/javascript" src="http://jquery-rotate.googlecode.com/files/jquery.rotate.1-1.js"></script> 
</head> 
<body> 
<div id="outer"> 
 <div id="middle"> 
  <div id="inner" style="border:red 2px solid;width:300px;height:300px;padding:3px;"><img id="theimage" border="0" src="118812060.jpg" /></div> 
 </div>  
</div> 
<div style="position: relative;height:40px;margin-top:-40px;"> 
<input type="button" value="<-Rotate" name="RotateL" id="RotateL" onclick="$('#theimage').rotateRight(30);"> 
<input type="button" value="Rotate->" name="RotateR" id="RotateR" onclick="$('#theimage').rotateRight(-30);"> 
</div> 
</body> 
</html> 
 

 

 

 

3. JavaScript 版 (支持连续旋转,无动画效果)

 

<script>
/* This script and many more are available free online at
The JavaScript Source!! http://javascript.internet.com
Created by: Benoit Asselin | http://www.ab-d.fr */

function rotate(p_deg) {
	if(document.getElementById('canvas')) {
		/*
		Ok!: Firefox 2, Safari 3, Opera 9.5b2
		No: Opera 9.27
		*/
		var image = document.getElementById('image');
		var canvas = document.getElementById('canvas');
		var canvasContext = canvas.getContext('2d');
		
		switch(p_deg) {
			default :
			case 0 :
				canvas.setAttribute('width', image.width);
				canvas.setAttribute('height', image.height);
				canvasContext.rotate(p_deg * Math.PI / 180);
				canvasContext.drawImage(image, 0, 0);
				break;
			case 90 :
				canvas.setAttribute('width', image.height);
				canvas.setAttribute('height', image.width);
				canvasContext.rotate(p_deg * Math.PI / 180);
				canvasContext.drawImage(image, 0, -image.height);
				break;
			case 180 :
				canvas.setAttribute('width', image.width);
				canvas.setAttribute('height', image.height);
				canvasContext.rotate(p_deg * Math.PI / 180);
				canvasContext.drawImage(image, -image.width, -image.height);
				break;
			case 270 :
			case -90 :
				canvas.setAttribute('width', image.height);
				canvas.setAttribute('height', image.width);
				canvasContext.rotate(p_deg * Math.PI / 180);
				canvasContext.drawImage(image, -image.width, 0);
				break;
		};
		
	} else {
		/*
		Ok!: MSIE 6 et 7
		*/
		var image = document.getElementById('image');
		switch(p_deg) {
			default :
			case 0 :
				image.style.filter = 'progid:DXImageTransform.Microsoft.BasicImage(rotation=0)';
				break;
			case 90 :
				image.style.filter = 'progid:DXImageTransform.Microsoft.BasicImage(rotation=1)';
				break;
			case 180 :
				image.style.filter = 'progid:DXImageTransform.Microsoft.BasicImage(rotation=2)';
				break;
			case 270 :
			case -90 :
				image.style.filter = 'progid:DXImageTransform.Microsoft.BasicImage(rotation=3)';
				break;
		};
		
	};
};

// Multiple onload function created by: Simon Willison
// http://simonwillison.net/2004/May/26/addLoadEvent/
function addLoadEvent(func) {
  var oldonload = window.onload;
  if (typeof window.onload != 'function') {
    window.onload = func;
  } else {
    window.onload = function() {
      if (oldonload) {
        oldonload();
      }
      func();
    }
  }
}

addLoadEvent(function() {
	var image = document.getElementById('image');
	var canvas = document.getElementById('canvas');
	if(canvas.getContext) {
		image.style.visibility = 'hidden';
		image.style.position = 'absolute';
	} else {
		canvas.parentNode.removeChild(canvas);
	};
	
	rotate(0);
});


</script>



<p>
	rotate:
	<input type="button" value="0" onclick="rotate(0);">
	<input type="button" value="90" onclick="rotate(90);">
	<input type="button" value="180" onclick="rotate(180);">
	<input type="button" value="-90" onclick="rotate(-90);">
</p>
<p>
	<img id="image" src="118812060.jpg" alt="t90" />
	<canvas id="canvas"></canvas>
</p>

 

 

 

两者均支持IE6+, Firefox 3+, Chrome

 

 

 

 

 

 

 

 

 

 

 

 

 

分享到:
评论

相关推荐

    LabVIEW图像操作与运算:图像平移旋转

    项目请参见:https://handsome-man.blog.csdn.net/article/details/116427984 图像平移是指将图像中所有的点都沿着水平或垂直方向移动一定的距离。 项目可直接运行~

    图片旋转支持所有浏览器

    图片旋转主要依赖于CSS3的transform属性,它提供了rotate()方法来实现元素的旋转。在HTML结构中,我们可以将图片放在一个容器元素内,然后通过CSS3的transform属性旋转这个容器,从而达到旋转图片的效果。 二、CSS3...

    bitmap_rotate.rar_VC6 图片旋转_图片 旋转_图片旋转

    在本压缩包“bitmap_rotate.rar”中,我们有一个在Visual C++ 6(简称VC6)环境下实现的高质量图片旋转程序。这个实例旨在帮助开发者理解如何在C++中处理图像旋转,尤其适用于需要进行图像处理的项目。让我们深入...

    jquery_rotate旋转图片

    "jquery_rotate" 是一个专门用于实现jQuery图片旋转的插件,它允许开发者通过简单的API调用来实现图片的动态旋转效果。本文将深入探讨jQuery Rotate插件的工作原理、使用方法以及一些关键的配置选项。 首先,jQuery...

    基于Labview的2D图片旋转显示

    本程序是源于LabVIEW自带的2D飞机图片旋转VI,经过修改可实现自主选择旋转图片,图片格式为JPG、BMP、PNG三种,需注意的是图片必须是500*500的,否则图片显示会有问题,也可自行修改。

    rotate_pic.rar_图片 旋转

    本项目"rotate_pic.rar_图片 旋转"提供了一个基于OpenCV库的图片旋转实现,但特别之处在于它并没有直接使用OpenCV库提供的现成旋转函数,而是自行实现了旋转的原理。下面将详细介绍图片旋转的基本概念、自定义旋转的...

    rotate做单帧图片旋转类似刷新图标

    总之,使用`rotate`动画可以轻松地实现单帧图片旋转的刷新图标效果。通过调整`fromDegrees`、`toDegrees`、`pivotX`、`pivotY`、`duration`等属性,以及可能的`repeatCount`和`interpolator`,我们可以定制出满足...

    通过exif获取图片旋转值,使用rotate-photo.js旋转图片,使图片正向显示

    通过exif获取图片旋转值,使用rotate-photo.js旋转图片,使图片正向显示

    css实现图片旋转效果

    要使一张图片旋转,可以使用`transform`属性中的`rotate()`函数。例如,如果我们有一个ID为`image1`的图片元素,我们可以这样设置: ```css #image1 { transform: rotate(45deg); } ``` 上述代码将使图片旋转45度...

    图片旋转 源代码 源代码 源代码

    在IT领域,图片处理是一项常见的任务,而图片旋转则是其中的一个基本操作。本文将深入探讨图片旋转的相关知识点,包括原理、实现方式以及源代码解析。 首先,我们需要理解图片旋转的基本概念。图片是由像素组成的,...

    跨浏览器控制图片旋转jquery插件jquery.rotate.js.zip

    跨浏览器控制图片旋转jquery插件jquery.rotate.js.zip 跨浏览器控制图片旋转jquery插件jquery.rotate.js.zip 跨浏览器控制图片旋转jquery插件jquery.rotate.js.zip

    CSS3 transform实现图片旋转木马3D

    在本文中,我们将深入探讨如何使用CSS3的`transform`属性来实现一个令人惊叹的3D图片旋转木马效果。CSS3的`transform`特性为Web开发者提供了强大的能力,可以对元素进行平移、旋转、缩放和扭曲等多种变换,从而创造...

    h5完美实现移动端 手势同时控制图片 旋转 拖拽 放大 的源码

    使用hammer.js 可以手势控制同时进行旋转 拖拽 ...重点解决官网旋转rotate demo旋转乱跳bug 官网:http://hammerjs.github.io/ (官网的demo真是坑 又是复位又是旋转抖动的....双点触控就立马旋转造成抖动视觉效果的bug)

    rotate旋转

    4. 动画:创建各种旋转动画,如轮播图中的图片切换。 总的来说,rotate旋转是一个基础但重要的概念,不仅在2D绘图中有所应用,而且在3D渲染和交互式设计中也发挥着关键作用。理解和掌握rotate的使用,能够帮助...

    jquery rotate图片旋转插件制作转盘360度旋转抽奖代码.zip

    本资源"jquery rotate图片旋转插件制作转盘360度旋转抽奖代码.zip"显然是一个基于jQuery的项目,用于创建一个360度旋转的图片转盘抽奖功能。下面我们将深入探讨jQuery及其rotate插件的相关知识点,以及如何实现360度...

    OpenCvSharp图片旋转.zip

    图片旋转是通过`Rotate`方法实现的。该方法接受一个`RotationFlags`枚举值作为参数,表示旋转方向。以下是一些常见的旋转操作: 1. **左旋转90°**: 使用`RotationFlags.Rotate90Clockwise`,表示顺时针旋转90度...

    图片旋转 CCD_CCD如何旋转_图片旋转的dll_visionpro联合C#实现图像旋转_

    例如,一个名为"图片旋转.dll"的库可能提供了旋转图像的API,如`RotateImage()`,开发者只需传入图像数据、旋转角度等参数,就能完成图像旋转。 最后,提到的VisionPro是一款功能强大的计算机视觉软件,由康耐视...

    js图片旋转例子demo

    在这个“js图片旋转例子demo”中,我们将探讨如何利用JavaScript来实现图片的旋转效果,特别是在用户点击按钮时,使图片按照九十度的角度进行旋转。 首先,我们有三个主要的文件:`index.html`是网页的结构文件,`...

Global site tag (gtag.js) - Google Analytics