|
$(function(){
//Ĭ��ͼ�������ʾ
// cutImage($(".jcrop_w>img"));
var _Jw = ($("#target").width() - 110) / 2 ,
_Jh = ($("#target").height() - 110) / 2 ,
_Jw2 = _Jw + 110,
_Jh2 = _Jh + 110;
$('#target').Jcrop({
setSelect: [_Jw, _Jh, _Jw2, _Jh2],
onChange: showPreview,
onSelect: showPreview,
bgFade: true,
bgColor: "white",
aspectRatio: 110/110,
bgOpacity: .5
});
$("#idLeft").click(function(e){
imgRotate(-90);
return false;
});
$("#idRight").click(function(e){
imgRotate(90);
return false;
});
$("#idBig").click(function(e){
imgToSize(20);
return false;
});
$("#idSmall").click(function(e){
imgToSize(-20);
return false;
});
});
//ͼƬ��ת
function imgRotate(deg){
var img1 = $(".jcrop_w>img"),
_data = parseInt($(".jc-demo-box").attr("data"));
if($.browser.version == 8.0 || $.browser.version == 7.0 || $.browser.version == 6.0 ){
var sin = Math.sin(Math.PI / 180 * (_data + deg)), cos = Math.cos(Math.PI / 180 * (_data + deg));
var _filter = "progid:DXImageTransform.Microsoft.Matrix(M11=" + cos + "," + "M12=" + (-sin)
+ ",M21=" + sin+ ",M22=" + cos + ",SizingMethod='auto expand')";
img1.css({
filter: _filter
});
$('.pre-1 img,.pre-2 img,.pre-3 img').css({
filter: _filter
});
}else{
var _deg = deg + _data;
var _val = "rotate("+ _deg + "deg)";
img1.css({
"-webkit-transform": _val,
"-moz-transform": _val,
"-ms-transform": _val,
"-o-transform": _val,
"transform": _val
});
$('.pre-1 img,.pre-2 img,.pre-3 img').css({
"-webkit-transform": _val,
"-moz-transform": _val,
"-ms-transform": _val,
"-o-transform": _val,
"transform": _val
});
}
var fiw = $('.jcrop_w>img').width(),
fih = $('.jcrop_w>img').height(),
ow = Math.floor((395 - fiw) / 2),
oh = Math.floor((340 - fih) / 2),
cx = $("#small").position().left,
cy = $("#small").position().top,
rx = 200 / $("#small").width(),
ry = 200 / $("#small").height(),
rx1 = 50 / $("#small").width(),
ry1 = 50 / $("#small").height(),
rx2 = 26 / $("#small").width(),
ry2 = 26 / $("#small").height();
if($.browser.version == 8.0 || $.browser.version == 7.0 || $.browser.version == 6.0){
pre_img2($('.pre-1 img'), rx, fih, ry, fiw, cx, cy, ow, oh);
pre_img2($('.pre-2 img'), rx1, fih, ry1, fiw, cx, cy, ow, oh);
pre_img2($('.pre-3 img'), rx2, fih, ry2, fiw, cx, cy, ow, oh);
}else{
pre_img2($('.pre-1 img'), rx, fiw, ry, fih, cx, cy, ow, oh);
pre_img2($('.pre-2 img'), rx1, fiw, ry1, fih, cx, cy, ow, oh);
pre_img2($('.pre-3 img'), rx2, fiw, ry2, fih, cx, cy, ow, oh);
}
$(".jcrop_w img").css({
left: ow,
top: oh
});
if( deg > 0){
if(_data == 270){
_data = 0;
}else{
_data = _data + 90;
}
}else{
if(_data == 0){
_data = 270;
}else{
_data = _data - 90;
}
}
$("#d").val(_data);
$(".jc-demo-box").attr("data", _data);
}
//�Ŵ���СͼƬ
function imgToSize(size) {
var iw = $('.jcrop_w>img').width(),
ih = $('.jcrop_w>img').height(),
_data = $(".jc-demo-box").attr("data"),
_w = Math.round(iw + size),
_h = Math.round(((iw + size) * ih) / iw);
if(($.browser.version == 8.0 || $.browser.version == 7.0 || $.browser.version == 6.0) && (_data == 90 || _data == 270)){
$('.jcrop_w>img').width(_h).height(_w);
}else{
$('.jcrop_w>img').width(_w).height(_h);
}
var fiw = $('.jcrop_w>img').width(),
fih = $('.jcrop_w>img').height(),
ow = (395 - fiw) / 2,
oh = (340 - fih) / 2,
cx = $("#small").position().left,
cy = $("#small").position().top,
rx = 200 / $("#small").width(),
ry = 200 / $("#small").height(),
rx1 = 50 / $("#small").width(),
ry1 = 50 / $("#small").height(),
rx2 = 26 / $("#small").width(),
ry2 = 26 / $("#small").height();
if(($.browser.version == 8.0 || $.browser.version == 7.0 || $.browser.version == 6.0) && (_data == 90 || _data == 270)){
pre_img2($('.pre-1 img'), rx, fih, ry, fiw, cx, cy, ow, oh);
pre_img2($('.pre-2 img'), rx1, fih, ry1, fiw, cx, cy, ow, oh);
pre_img2($('.pre-3 img'), rx2, fih, ry2, fiw, cx, cy, ow, oh);
}else{
pre_img2($('.pre-1 img'), rx, fiw, ry, fih, cx, cy, ow, oh);
pre_img2($('.pre-2 img'), rx1, fiw, ry1, fih, cx, cy, ow, oh);
pre_img2($('.pre-3 img'), rx2, fiw, ry2, fih, cx, cy, ow, oh);
}
$(".jcrop_w img").css({
left: ow,
top: oh
});
};
//
function pre_img2(obj, rx, iw, ry, ih, cx, cy, ow, oh){
obj.css({
width: Math.round(rx * iw) + 'px',
height: Math.round(ry * ih) + 'px'
});
if( cy >= oh && cx >= ow){
obj.css({
marginLeft: '-' + Math.round(rx * (cx - ow)) + 'px',
marginTop: '-' + Math.round(ry * (cy - oh)) + 'px'
});
}else if( cy <= oh && cx >= ow){
obj.css({
marginLeft: "-" + Math.round(rx * (cx - ow)) + 'px',
marginTop: Math.round(ry * (oh - cy)) + 'px'
});
}else if( cy >= oh && cx <= ow){
obj.css({
marginLeft: Math.round(rx * (ow - cx)) + 'px',
marginTop: '-' + Math.round(ry * (cy - oh)) + 'px'
});
}else if( cy <= oh && cx <= ow){
obj.css({
marginLeft: Math.round(rx * (ow - cx)) + 'px',
marginTop: Math.round(ry * (oh - cy)) + 'px'
});
}
};
//Ĭ��ͼ��λ��
function cutImage(obj) {
var w = 395,
h = 340,
iw = obj.width(),
ih = obj.height();
if(iw > w || ih > h){
if(iw / ih > w / h){
obj.css({
width: w,
height: w * ih / iw,
top: (h - (w * ih / iw)) / 2,
left: 0
});
}else{
obj.css({
height: h,
width: h * iw / ih,
top: 0,
left: (w - (h * iw / ih)) / 2
});
}
}else{
obj.css({
left: (w - iw) / 2,
top: (h - ih ) / 2
});
}
}
function showPreview(c){
var iw = $('.jcrop_w>img').width(),
ih = $('.jcrop_w>img').height(),
ow = (395 - iw) / 2,
oh = (340 - ih) / 2,
rx = 200 / c.w,
ry = 200 / c.h,
rx1 = 50 / c.w,
ry1 = 50 / c.h,
rx2 = 26 / c.w,
ry2 = 26 / c.h,
_data = $(".jc-demo-box").attr("data");
if(($.browser.version == 8.0 || $.browser.version == 7.0 || $.browser.version == 6.0) && (_data == 90 || _data == 270)){
pre_img2($('.pre-1 img'), rx, ih, ry, iw, c.x, c.y, ow, oh);
pre_img2($('.pre-2 img'), rx1, ih, ry1, iw, c.x, c.y, ow, oh);
pre_img2($('.pre-3 img'), rx2, ih, ry2, iw, c.x, c.y, ow, oh);
}else{
pre_img2($('.pre-1 img'), rx, iw, ry, ih, c.x, c.y, ow, oh);
pre_img2($('.pre-2 img'), rx1, iw, ry1, ih, c.x, c.y, ow, oh);
pre_img2($('.pre-3 img'), rx2, iw, ry2, ih, c.x, c.y, ow, oh);
}
$('#x').val(c.x);
$('#y').val(c.y);
$('#w').val(c.w);
$('#h').val(c.h);
}
|