这里所谓终极,是指公司有新的任务了,而且很紧迫,这个就没时间弄了。经测试可以在任何浏览器中实现。HOHO!!!
功能参见http://blog.csdn.net/Vanessa219/archive/2009/04/27/4130250.aspx
index.html
<iframe width=”50%” height=”50%” src=”image.html” mce_src=”image.html”></iframe>
image.xhtml
<!DOCTYPE html>
<html>
<head>
<!–link type=”text/css” href=”http://jqueryui.com/latest/themes/base/ui.all.css“ rel=”stylesheet” /–>
<link type=”text/css” href=”style/resize.css” mce_href=”style/resize.css” rel=”stylesheet” />
<mce:script type=”text/javascript” src=”resources/jquery.min.js” mce_src=”resources/jquery.min.js”></mce:script>
<mce:script type=”text/javascript” src=”resources/ui.core.js” mce_src=”resources/ui.core.js”></mce:script>
<mce:script type=”text/javascript” src=”resources/ui.resizable.js” mce_src=”resources/ui.resizable.js”></mce:script>
<mce:script type=”text/javascript” src=”resources/ui.draggable.js” mce_src=”resources/ui.draggable.js”></mce:script>
<mce:script type=”text/javascript” src=”resources/raphael.js” mce_src=”resources/raphael.js”></mce:script>
<mce:script type=”text/javascript” src=”resources/image.js” mce_src=”resources/image.js”></mce:script>
<mce:script type=”text/javascript”><!–
$(document).ready(function(){
$(“#image_canvas”).resizable().draggable();
$(“#ok”).click(function(){
$(“#image_canvas”).paint(“./image/GG.bmp”,$(“#image_canvas”).width(), $(“#image_canvas”).height(),$(“#angle”).val(),$(“#img_property”).val());
});
});
// –></mce:script>
</head>
<body>
angle of rotation:
<input id=”angle” type=”text” value=”0”/>
<select name=”img_property” id=”img_property”>
<option value=”customize”>customize</option>
<option value=”actual size”>actual size</option>
<option value=”fit width”>fit width</option>
<option value=”fit height”>fit height</option>
<option value=”fit image”>fit image</option>
</select>
<input id=”ok” type=”button” value=”OK”>
<div id=”image_canvas” style=”height:100px;width:200px;background-color:#888888”></div>
</body>
</html>
image.js
jQuery.fn.paint = function(source, canvas_width, canvas_height, angle, img_property){
$(“svg”).remove();
$(“#image_canvas”).find(“div”).each(function(i) {
if(i==0){
$(this).html(“”);
}
});
var r_image = new Image();
r_image.src = source;
var image_width = r_image.width,
image_height = r_image.height,
r_ration = image_width/image_height,
ration = canvas_width/canvas_height;
if(img_property == “customize”){
var paper = Raphael(“image_canvas”, canvas_width, canvas_height),
image = paper.image(source, 0, 0, canvas_width, canvas_height);
}else if(img_property == “actual size”){
var paper = Raphael(“image_canvas”, canvas_width, canvas_height),
image = paper.image(source, 0, 0, image_width, image_height);
}else if(img_property==”fit image”){
var paper = Raphael(“image_canvas”, canvas_width, canvas_height);
if(r_ration > ration){
var image = paper.image(source, 0, 0, canvas_width, canvas_width/r_ration);
}else{
var image = paper.image(source, 0, 0, canvas_height r_ration, canvas_height);
}
}else if(img_property == “fit height”){
var paper = Raphael(“image_canvas”, canvas_width, canvas_height),
image = paper.image(source, 0, 0, canvas_height r_ration, canvas_height);
}else{
var paper = Raphael(“image_canvas”, canvas_width, canvas_height),
image = paper.image(source, 0, 0, canvas_width, canvas_width/r_ration);
};
image.rotate(angle);
};
resize.css
/
Document : ui.all
Created on : 2009-5-5, 11:01:04
Author : liyuan.li
Description:
Purpose of the stylesheet follows. /
/
TODO customize this sample style
Syntax recommendation http://www.w3.org/TR/REC-CSS2/ /
.ui-resizable { position: relative;}
.ui-resizable-handle { position: absolute;font-size: 0.1px;z-index: 99999; display: block;}
.ui-resizable-disabled .ui-resizable-handle, .ui-resizable-autohide .ui-resizable-handle { display: none; }
.ui-resizable-n { cursor: n-resize; height: 7px; width: 100%; top: -5px; left: 0px; }
.ui-resizable-s { cursor: s-resize; height: 7px; width: 100%; bottom: -5px; left: 0px; }
.ui-resizable-e { cursor: e-resize; width: 7px; right: -5px; top: 0px; height: 100%; }
.ui-resizable-w { cursor: w-resize; width: 7px; left: -5px; top: 0px; height: 100%; }
.ui-resizable-se { cursor: se-resize; width: 12px; height: 12px; right: 1px; bottom: 1px; }
.ui-resizable-sw { cursor: sw-resize; width: 9px; height: 9px; left: -5px; bottom: -5px; }
.ui-resizable-nw { cursor: nw-resize; width: 9px; height: 9px; left: -5px; top: -5px; }
.ui-resizable-ne { cursor: ne-resize; width: 9px; height: 9px; right: -5px; top: -5px;}
其余的js代码可以jquery和raphael上找到,这里不再贴出。
下个星期一就要开始做wizard,都不知道具体要求和技术,还是老大亲自带,惨啊。。。。