123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245 |
- $(function(){
-
-
- 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);
- }
|