From 1ac3d19b2aac06837d5d0dd9be209fbbe0e31be8 Mon Sep 17 00:00:00 2001 From: drduan Date: Fri, 11 Sep 2015 17:18:15 +0800 Subject: [PATCH] 2.1 --- ...7\347\272\247\345\206\205\345\256\271.txt" | 158 ++++++++++++++++++ index.html | 10 +- shearphoto_common/css/MIN_ShearPhoto.css | 4 +- shearphoto_common/css/ShearPhoto.css | 4 +- shearphoto_common/file/photo/6.jpg | Bin 87914 -> 62691 bytes ...2\344\273\200\344\271\210\347\232\204.txt" | 2 + shearphoto_common/js/MIN/MIN_ShearPhoto.js | 13 +- shearphoto_common/js/MIN/MIN_alloyimage.js | 13 ++ .../js/MIN/MIN_webcam_ShearPhoto.js | 2 +- shearphoto_common/js/ShearPhoto.js | 144 ++++++++-------- shearphoto_common/js/handle.js | 68 ++++---- shearphoto_common/js/webcam_ShearPhoto.js | 8 +- shearphoto_common/php/shearphoto.config.php | 19 +-- shearphoto_common/php/shearphoto.php | 23 ++- shearphoto_common/php/shearphoto.up.php | 6 +- shearphoto_common/php/upload.php | 8 +- shearphoto_common/php/zip_img.php | 6 +- ...0\345\217\221\345\257\204\350\257\255.txt" | 16 +- ...0\346\235\203\345\243\260\346\230\216.txt" | 4 +- ...2\345\217\212\346\225\231\347\250\213.txt" | 25 +++ 20 files changed, 357 insertions(+), 176 deletions(-) create mode 100644 "2.1HTML5\347\211\210\345\215\207\347\272\247\345\206\205\345\256\271.txt" create mode 100644 "shearphoto_common/file/temp\346\230\257\345\271\262\344\273\200\344\271\210\347\232\204.txt" create mode 100644 shearphoto_common/js/MIN/MIN_alloyimage.js create mode 100644 "\347\263\273\347\273\237\350\246\201\346\261\202\345\217\212\346\225\231\347\250\213.txt" diff --git "a/2.1HTML5\347\211\210\345\215\207\347\272\247\345\206\205\345\256\271.txt" "b/2.1HTML5\347\211\210\345\215\207\347\272\247\345\206\205\345\256\271.txt" new file mode 100644 index 0000000..8008aaa --- /dev/null +++ "b/2.1HTML5\347\211\210\345\215\207\347\272\247\345\206\205\345\256\271.txt" @@ -0,0 +1,158 @@ +-----------------------shearphoto各版本升级概况---------------------- + +--------- +shearphoto2.1 版本升级概况 + + + 1: 这个版本并没有新功能的加入,主要修复shearphoto2.0遗留的BUG,而且修复的BUG较多也较为严重,那就不再一一列举了! + 2: 对程序再次进行深度优化一遍! + 3: 生成的截图的截图名称以前是写死0 1 2 3... 修改后,能自定义截图尾部的名称 + 3: 对部份表述不清的注释,重新整理了一下 + +请下载2.1源码体验 + + + + +----------------------------------------------------------------------------------------------------------------------- +shearphoto2.0 版本升级概况 + + + 从shearphoto 1.5直接跳跃到shearphoto 2.0,这是shearphoto重大革新。本来我是想shearphoto 1.6 、1.7、 1.8 慢慢升的,但是这样升级只会让shearphoto慢慢走向灭亡! +结果我又辛苦了一个多星期,把shearphoto 2.0升级完成! +shearphoto2.0之前,我认为没必要加入HTML5,兼容IE6 7 8就够。但是直到后来!我知道这是我一个错误的决定 +因为用户并没有为shearphoto 1.5埋单,原因shearphoto 1.5没有采用HTML5截取,用户觉得会增加服务器负载!而且又不是本地加载图片!我一个错误的决定!导致用户份额一直没有明显大增。 + + + shearphoto 2.0是收集所有用户的意见开发而成的! + + + 重大的特性就是全面支持HTML5 + + + +1:支持translate3d 硬件加速移动 + + + +2:加入图片预览功能 + + + +3:加入了压缩数码相机图片, 以及HTML5 canvas本地切图,截图 + 但依然继续支持IE6 7 8 哦!有人问IE6 7 8不兼容HTML5啊,你骗人吗? + 先不要急!shearphoto 2.0的机制是这样的:有HTML5则使用HTML5 canvas切图,截图,JS先会截取一张最合理化的截图,然后交给后端,根据用户设置,进行压缩截图 + 没有HTML5的浏览器则采用先上传再截取的策略,就是原先1.5的策略。 + + +当然有些用户如果不喜欢HTML5,也可以根据接口自行关闭 + + + +4:加HTML5图片特效,就一如美图秀秀这样的特效!shearphoto一共提供14种漂亮特效,感谢腾讯AI对图片特效提供支持 + + +5: shearphoto 2.0增添很多接口,大部份是HTML5的设置!请下载源码 + +----------------------------------------------------------------------------------------------------------------------- + +shearphoto1.5 版本升级概况 + + +1:修复PHP后端不能反馈重要错误的BUG,错误功能更加准确,纯粹为不懂JS的鸟儿服务。 + +2:修复PHP后端错漏,低级写法(免被洁辟者喷)! + +3:优化PHP反馈serverdata的数据 + +4:前端部份:新增动态虚线截框(动态和静态截框架API接口),使外观更加漂亮,满足各种爱美人士! + +5:加入多个API接口 如:是否历遍全图,遮层色彩,遮层透明度等。 + +提示:下一次的版本升级,将会重大功能加入,请继续支持shearphoto +----------------------------------------------------------------------------------------------------------------------- + + + +shearphoto1.4 版本升级概况 + + + + +1:加relativeUrl 接口,相对路径设置,因为TP YII CI等框架都是特别路径,把INDEX.html变换位置后就会出现图片读取出错的问题 ,对于部份不懂JS的人群确实造成一定程序二次开发困难!这个问题我也有责任,深感抱歉! + 加入相对路径设置问题解决,具体请查看relativeUrl 接口! + + +2:一如既往,修复已知BUG! + +3: index.html
改为 + 防止与其他插件冲突 + +具体细节,请查看shearphoto1.4源码! + + + 感谢大家对shearphoto的支持! 用户反馈BUG存在,作者会一直更新到底! 再次感谢向作者反馈BUG的用户! + + +----------------------------------------------------------------------------------------------------------------------- + + + + + +shearphoto1.3 版本升级概况 + + + + +1:FLASH AS脚本已全部重写!修正FLASH摄象拍照,摄象头没启动也能拍照的BUG!严格要求摄象头启动才能向后端请求! + + + +2:改变FLASH摄象拍照上传数据流,原来是采用PHP流,速度非常不理想!修正后采用FORMDATA流,速度快5倍,允许拍照向后端POST参数传递,以及优化画面质量,流畅度等! + + + +3: 原来是拍照和上传图片是分开的,修正后上传请求统一在后端文件upload.php进行 ! + + + +4:修正图片上传后,图片类型没严格规定的BUG! + +5:上传,截图,拍照 ,加入能定义传入POST参数! +----------------------------------------------------------------------------------------------------------------------- + + + + + + + + + + +shearphoto1.2 版本升级概况 + + + + +1:加入移动端的拉伸和拖拽事件,方便开发人员开发移动端截图功能! + + +2:修复已知BUG! + + +注意,只是加入了移动端的拉伸和拖拽事件,如果你需要开发移动端截图,还需要自己进行二次开发,加入拉伸和拖拽事件只为了方便二次开发 +---------------------------------------------------------------------------------------------------------------------- + + + + + + + +开发文当,教程,下载最新版本,请到官网www.shearphoto.com + +------- + +下次开发版本,将加入H5特效处理!请密切关注www.shearphoto.com的更新 \ No newline at end of file diff --git a/index.html b/index.html index 91a5600..8baa12d 100644 --- a/index.html +++ b/index.html @@ -4,9 +4,7 @@ -ShearPhoto瀹樻柟涓婚〉_鏀寔HTML5澶村儚鎴彇宸ュ叿_JS鎴浘_鍒囧浘鎻掍欢_鏁扮爜鐓х墖鍘嬬缉鎴浘鎻掍欢_鍟嗗搧鍥剧墖缂栬緫_鍦ㄧ嚎鎷嶇収鎴浘 - - +ShearPhoto2.1淇鐗坃鏀寔HTML5澶村儚鎴彇宸ュ叿_JS鎴浘_鍒囧浘鎻掍欢_鏁扮爜鐓х墖鍘嬬缉鎴浘鎻掍欢_鍟嗗搧鍥剧墖缂栬緫_鍦ㄧ嚎鎷嶇収鎴浘 @@ -14,7 +12,7 @@ - +*******************************ShearPhoto2.1 鍏嶈垂锛屽紑婧愶紝鍏煎鐩墠鎵鏈夋祻瑙堝櫒锛岀函鍘熺敓JS鍜孭HP缂栧啓-->
ShearPhoto瀹樻柟缃戠珯锛歸ww.shearphoto.com diff --git a/shearphoto_common/css/MIN_ShearPhoto.css b/shearphoto_common/css/MIN_ShearPhoto.css index 718c8c8..8fd76a6 100644 --- a/shearphoto_common/css/MIN_ShearPhoto.css +++ b/shearphoto_common/css/MIN_ShearPhoto.css @@ -1,3 +1 @@ -@charset "utf-8";img,div,i,em,a,body,p,H1,ul,li{font-family:'Helvetica Neue',Helvetica,Arial,sans-serif;border-style:none;font-size:12px;list-style-type:none;margin:0;padding:0;text-decoration:none}.header{height:65px;margin-bottom:10px;width:100%;background-color:#505153;background-image:url(../images/bg_headLine1.png);background-repeat:no-repeat;background-position:290px;overflow:hidden}.header A{-moz-border-radius:5px;background:#3e8bff;border-radius:5px;color:#FFF;display:inline-block;float:left;font-size:15px;font-weight:700;line-height:50px;margin-left:100px;margin-top:7px;text-align:center;width:150px}.header A:hover{text-decoration:underline;background-color:#0f6fff}.shearphoto_main{margin-right:auto;margin-left:auto}#preview{float:left;position:relative}#preview a{display:inline;float:left;-moz-border-radius:5px;border-radius:5px;-moz-box-shadow:1px 1px 3px 1px #999;box-shadow:1px 1px 3px 1px #999;overflow:hidden;position:relative}#preview a img{position:relative}.bottom a:hover{color:#39F;text-decoration:underline}.header img{display:inline-block;float:left;margin-left:20px}.header strong{color:#FFF;display:block;float:right;height:60px;line-height:60px;margin-right:20px}#LeftRotate{margin-left:10px;margin-right:10px}#LeftRotate em,#RightRotate em{background:url(../images/bch.jpg) no-repeat;display:inline-block;height:21px;margin-right:3px;margin-top:1px;vertical-align:middle;width:15px}#LeftRotate,#RightRotate{-moz-border-radius:5px;border:1px solid #CCC;border-radius:5px;color:#666;cursor:pointer;float:left;font-size:12px;margin-top:-5px;padding-bottom:5px;padding-top:5px;text-align:center;width:80px}#LeftRotate:hover,#RightRotate:hover{border:1px solid #919191;color:#414141}#RightRotate{margin-left:10px}#RightRotate em{background-position:-91px 0;margin-left:3px;margin-right:0;margin-top:1px}.hint{color:#333;display:block;float:left;font-size:12px;font-style:normal;height:19px;line-height:15px;width:19px}.hint.L,.hint.R{background:url(../images/zoom.png) no-repeat -2px -1px}.hint.R{background-position:-43px -1px}#SelectBox{background:url(../images/bg.png);position:absolute;z-index:180}#SelectBox #selectImage input{height:74px;width:224px;background-color:#FFF;filter:alpha(opacity=0);opacity:0;position:absolute;float:left;cursor:pointer;display:block}.displayNone{display:none}#SelectBox #selectImage,#SelectBox #PhotoLoading,#SelectBox #camerasImage{-moz-border-radius:10px;border-radius:10px;-moz-box-shadow:2px 2px 7px 1px #3e4044;box-shadow:2px 2px 7px 1px #3e4044;background:url(../images/Select.jpg) no-repeat;display:block;height:74px;margin-left:-112px;margin-top:-37px;outline:0 none;position:absolute;width:223px;overflow:hidden}#SelectBox #PhotoLoading{background-position:0 -148px;left:50%;top:52%}#SelectBox #selectImage{left:50%;top:25%}#SelectBox #camerasImage{background-position:0 -74px;left:50%;top:79%}#SelectBox #selectImage:hover,#SelectBox #PhotoLoading:hover,#SelectBox #camerasImage:hover{border:3px solid #666;margin-left:-115px;margin-top:-40px}.Psava{clear:both;height:40px;padding-left:110px;padding-top:20px}.Psava #againIMG,.Psava #saveShear{background:url(../images/btn5.jpg) no-repeat;color:#666;float:left;line-height:31px;margin-right:20px;text-align:center;width:79px;height:31px}.Psava #againIMG:hover{background-position:0 -31px}.Psava #saveShear{background-position:-79px 0;color:#FFF}.Psava #saveShear:hover{background-position:-79px -31px}#Shearbar{padding-top:10px;width:442px;margin-right:auto;margin-left:auto}#ZoomDist{float:left;height:20px;position:relative;width:200px}#ZoomDist #ZoomBar{background:url(../images/ZoomBar.gif) no-repeat;filter:alpha(opacity=80);height:20px;jbackground-color:#09F;left:0;opacity:.8;position:absolute;width:15px}#Shearbar #Zoomcentre{background:url(../images/Zoomcentre.jpg) no-repeat;height:9px;left:50%;margin-left:-5px;position:absolute;top:25px;width:10px}#ZoomDist .progress{-moz-border-radius:15px;border-radius:15px;background:#999;display:block;float:left;height:8px;margin-top:4px;overflow:hidden;width:100%}#black{position:absolute;z-index:99}#main{-moz-user-select:none;-ms-user-select:none;-webkit-user-select:none;background:url(../images/bg.png);overflow:hidden;position:relative;z-index:50;border:1px solid #CCC;float:left}#main .BigImg{float:left;position:relative;z-index:51}#main .MoveImg{position:relative;z-index:98}#main #imgID{display:block;z-index:51}#main #movebox{position:absolute;z-index:100;float:left}#movebox #borderTop,#movebox #borderLeft,#movebox #borderRight,#movebox #borderBottom{background:url(../images/border.gif) #FFF;display:inline-block;filter:alpha(opacity=50);opacity:.5;overflow:hidden;position:absolute;z-index:104}#movebox #borderTop{height:1px;left:0;top:0;width:100%}#movebox #borderLeft{height:100%;left:0;top:0;width:1px}#movebox #borderRight{height:100%;right:0;top:0;width:1px}#movebox #borderBottom{bottom:0;height:1px;left:0;width:100%}#main #movebox #BottomRight,#main #movebox #TopRight,#main #movebox #Topleft,#main #movebox #Bottomleft,#main #movebox #Topmiddle,#main #movebox #leftmiddle,#main #movebox #Rightmiddle,#main #movebox #Bottommiddle{background:#000;border:1px solid #FFF;bottom:-5px;cursor:nw-resize;display:block;filter:alpha(opacity=50);height:8px;opacity:.5;overflow:hidden;position:absolute;right:-5px;width:8px;z-index:105} -#main #movebox #Bottomleft{bottom:-5px;cursor:ne-resize;left:-5px}#main #movebox #Bottommiddle{bottom:-5px;cursor:n-resize;left:50%;margin-left:-5px}#main #movebox #Rightmiddle{cursor:e-resize;margin-top:-5px;right:-5px;top:50%}#main #movebox #TopRight{cursor:ne-resize;right:-5px;top:-5px}#main #movebox #Topleft{cursor:nw-resize;left:-5px;top:-5px}#main #movebox #Topmiddle{cursor:n-resize;left:50%;margin-left:-5px;top:-5px}#main #movebox #leftmiddle{cursor:e-resize;left:-5px;margin-top:-5px;top:50%}#main #relat{position:relative;z-index:60}#main #smallbox{background:url();overflow:hidden;position:relative;z-index:100}#main .point{width:100%;line-height:35px;font-size:12px;position:absolute;z-index:200;filter:alpha(opacity=70);opacity:.7}.point i{display:inline-block;height:16px;width:15px;margin-top:10px;float:left;margin-left:20px;margin-right:10px;background:url(../images/bg_repno.png) no-repeat}.complete{background:url(../images/bg.jpg) #CCC;float:left;overflow:hidden;padding-left:5px;padding-top:10px;position:absolute;width:100%;z-index:250}.complete .completeTxt{-moz-border-radius:10px;-moz-box-shadow:0 0 15px 0 #666;background:#fbfdff;border-radius:10px;bottom:30px;box-shadow:0 0 15px 0 #666;padding-bottom:30px;padding-top:30px;position:absolute;right:30px;text-align:center;width:280px}.complete .completeTxt a{background:url(../images/bg_index.gif) no-repeat 0 -2px;color:#FFF;display:block;font-size:14px;line-height:40px;margin-left:auto;margin-right:auto;width:128px}.complete .completeTxt a:hover{background-position:-137px -2px}.complete .completeTxt p{color:#666;font-size:12px;font-weight:700;margin-bottom:10px;margin-top:10px}.complete .completeTxt strong{font-size:14px}.complete img{border:1px solid #CCC;display:inline-block;float:left;margin:5px 5px;padding:2px}.complete .completeTxt strong i{background:url(../images/bg_repno.png) no-repeat;display:inline-block;height:16px;margin-right:5px;margin-top:-3px;width:15px;vertical-align:middle}#photoalbum{-moz-border-radius:10px;-moz-box-shadow:3px 3px 10px 0 #000;background:#dfefff;border:8px solid #999;border-radius:10px;box-shadow:3px 3px 10px 0 #000;display:none;height:340px;left:50%;margin-left:-240.5px;margin-top:-178px;position:absolute;top:50%;width:465px;z-index:210}#photoalbum h1{background:#999;color:#FFF;font-size:15px;height:40px;line-height:30px;padding-left:10px;width:455px}#photoalbum i{background:url(../images/fancybox_sprite.png) no-repeat;display:block;float:left;height:37px;left:429px;position:absolute;top:0;cursor:pointer;width:36px}#photoalbum ul{height:auto;width:100%}#photoalbum ul li{border:1px solid #CCC;cursor:pointer;display:inline;float:left;height:133px;margin:5px;padding:2px;width:100px;overflow:hidden}#photoalbum ul li img{width:100%}#photoalbum ul li:hover{border:1px solid #09F}#CamBox{-moz-border-radius:10px;border-radius:10px;left:50%;position:absolute;-moz-box-shadow:5px 5px 10px 0 #3b3b3f;box-shadow:5px 5px 10px 0 #3b3b3f;width:550px;z-index:250;display:none;top:50%;margin-left:-276px;margin-top:-285px;background:url(../images/cam_bg.jpg) #d5d5d5}#CamBox #CamFlash{background:#fff;height:450px;margin-left:auto;margin-right:auto;width:450px}#CamBox #timing{color:#F60;display:none;font-size:36px;font-weight:700;height:200px;left:50%;line-height:200px;margin-left:-100px;margin-top:-100px;position:absolute;text-align:center;top:50%;width:200px}#CamBox .cambar{height:50px;margin-left:auto;margin-right:auto;padding-top:20px;width:300px}#CamBox .cambar a{background:url(../images/btn5.jpg) no-repeat;float:left;height:31px;line-height:31px;text-align:center;width:79px}#CamBox .lens{background:url(../images/cam.png) no-repeat 50%;height:50px;width:100%}#CamBox .cambar #camClose,#CamBox .cambar #setCam{color:#333}#CamBox .cambar #setCam{margin-right:30px}#CamBox .cambar #camClose:hover,#CamBox .cambar #setCam:hover{background-position:0 -31px}#CamBox .cambar #CamOk{background-position:-79px 0;color:#fff;margin-right:30px}#CamBox .cambar #CamOk:hover{background-position:-79px -31px}.Effects{background:url(../images/Effects/cardboard.png);border-bottom-color:#CCC;border-bottom-style:solid;border-bottom-width:1px;border-top-color:#CCC;border-top-style:solid;border-top-width:1px;color:#FFF;overflow-x:hidden;width:155px;display:none;float:left}.Effects .EffectsStrong{border-bottom-color:#676767;border-bottom-style:solid;border-bottom-width:1px;display:block;font-size:14px;height:30px;line-height:30px;text-align:center;width:100%}.Effects a{border-bottom-color:#676767;border-bottom-style:solid;border-bottom-width:1px;color:#FFF;display:block;padding-bottom:7px;padding-top:5px;vertical-align:middle;text-shadow:#000 0 2px 0;width:100%}.Effects a:hover,.Effects .Aclick{background-color:#a7a7a7}.Effects a img{-moz-border-radius:5px;border-radius:5px;display:inline-block;height:42px;margin-left:7px;margin-right:7px;margin-top:2px;vertical-align:middle;-moz-box-shadow:0 0 5px 0 #999;box-shadow:0 0 5px 0 #999;width:70px}::-webkit-scrollbar{height:13px;width:13px} -::-webkit-scrollbar-thumb{background:padding-box #c2c2c2;border:1px solid #979797;min-height:28px}::-webkit-scrollbar-thumb:hover{background:#929292;border:1px solid #636363}::-webkit-scrollbar-track-piece{background:#f5f5f5;border-left:1px solid #d2d2d2}.bottom{width:1000px;padding-bottom:10px;left:2px;color:#666;padding-left:5px;margin-right:auto;margin-left:auto;clear:both;text-align:center}.bottom span{vertical-align:middle;display:inline-block;margin-right:5px;margin-left:2px}.bottom a{color:#666}.header h1 a{font-size:14px;color:#fff}.bottom span img{border-radius:30px;-moz-border-radius:30px}.shearphoto_main .primary{float:left} \ No newline at end of file +@charset "utf-8";H1,a,body,div,em,i,img,li,p,ul{font-family:'Helvetica Neue',Helvetica,Arial,sans-serif;border-style:none;font-size:12px;list-style-type:none;margin:0;padding:0;text-decoration:none}.header{height:65px;margin-bottom:10px;width:100%;background-color:#505153;background-image:url(../images/bg_headLine1.png);background-repeat:no-repeat;background-position:290px;overflow:hidden}.header A{-moz-border-radius:5px;background:#3E8BFF;border-radius:5px;color:#FFF;display:inline-block;float:left;font-size:15px;font-weight:700;line-height:50px;margin-left:100px;margin-top:7px;text-align:center;width:150px}.header A:hover{text-decoration:underline;background-color:#0F6FFF}.shearphoto_main{margin-right:auto;margin-left:auto}#preview{float:left;position:relative}#preview a{display:inline;float:left;-moz-border-radius:5px;border-radius:5px;-moz-box-shadow:1px 1px 3px 1px #999;box-shadow:1px 1px 3px 1px #999;overflow:hidden;position:relative}#preview a img{position:relative}.bottom a:hover{color:#39F;text-decoration:underline}.header img{display:inline-block;float:left;margin-left:20px}.header strong{color:#FFF;display:block;float:right;height:60px;line-height:60px;margin-right:20px}#LeftRotate{margin-left:10px;margin-right:10px}#LeftRotate em,#RightRotate em{background:url(../images/bch.jpg) no-repeat;display:inline-block;height:21px;margin-right:3px;margin-top:1px;vertical-align:middle;width:15px}#LeftRotate,#RightRotate{-moz-border-radius:5px;border:1px solid #CCC;border-radius:5px;color:#666;cursor:pointer;float:left;font-size:12px;margin-top:-5px;padding-bottom:5px;padding-top:5px;text-align:center;width:80px}#LeftRotate:hover,#RightRotate:hover{border:1px solid #919191;color:#414141}#RightRotate{margin-left:10px}#RightRotate em{background-position:-91px 0;margin-left:3px;margin-right:0;margin-top:1px}.hint{color:#333;display:block;float:left;font-size:12px;font-style:normal;height:19px;line-height:15px;width:19px}.hint.L,.hint.R{background:url(../images/zoom.png) no-repeat -2px -1px}.hint.R{background-position:-43px -1px}#SelectBox{background:url(../images/bg.png);position:absolute;z-index:180}#SelectBox #selectImage input{height:74px;width:224px;background-color:#FFF;filter:alpha(opacity=0);opacity:0;position:absolute;float:left;cursor:pointer;display:block}.displayNone{display:none}#SelectBox #PhotoLoading,#SelectBox #camerasImage,#SelectBox #selectImage{-moz-border-radius:10px;border-radius:10px;-moz-box-shadow:2px 2px 7px 1px #3e4044;box-shadow:2px 2px 7px 1px #3e4044;background:url(../images/Select.jpg) no-repeat;display:block;height:74px;margin-left:-112px;margin-top:-37px;outline:0 none;position:absolute;width:223px;overflow:hidden}#SelectBox #PhotoLoading{background-position:0 -148px;left:50%;top:52%}#SelectBox #selectImage{left:50%;top:25%}#SelectBox #camerasImage{background-position:0 -74px;left:50%;top:79%}#SelectBox #PhotoLoading:hover,#SelectBox #camerasImage:hover,#SelectBox #selectImage:hover{border:3px solid #666;margin-left:-115px;margin-top:-40px}.Psava{clear:both;height:40px;padding-left:110px;padding-top:20px}.Psava #againIMG,.Psava #saveShear{background:url(../images/btn5.jpg) no-repeat;color:#666;float:left;line-height:31px;margin-right:20px;text-align:center;width:79px;height:31px}.Psava #againIMG:hover{background-position:0 -31px}.Psava #saveShear{background-position:-79px 0;color:#FFF}.Psava #saveShear:hover{background-position:-79px -31px}#Shearbar{padding-top:10px;width:442px;margin-right:auto;margin-left:auto}#ZoomDist{float:left;height:20px;position:relative;width:200px}#ZoomDist #ZoomBar{background:url(../images/ZoomBar.gif) no-repeat;filter:alpha(opacity=80);height:20px;jbackground-color:#09F;left:0;opacity:.8;position:absolute;width:15px}#Shearbar #Zoomcentre{background:url(../images/Zoomcentre.jpg) no-repeat;height:9px;left:50%;margin-left:-5px;position:absolute;top:25px;width:10px}#ZoomDist .progress{-moz-border-radius:15px;border-radius:15px;background:#999;display:block;float:left;height:8px;margin-top:4px;overflow:hidden;width:100%}#black{position:absolute;z-index:99}#main{-moz-user-select:none;-ms-user-select:none;-webkit-user-select:none;background:url(../images/bg.png);overflow:hidden;position:relative;z-index:50;border:1px solid #CCC;float:left}#main .BigImg{float:left;position:relative;z-index:51}#main .MoveImg{position:relative;z-index:98}#main #imgID{display:block;z-index:51}#main #movebox{position:absolute;z-index:100;float:left}#movebox #borderBottom,#movebox #borderLeft,#movebox #borderRight,#movebox #borderTop{background:url(../images/border.gif) #FFF;display:inline-block;filter:alpha(opacity=50);opacity:.5;overflow:hidden;position:absolute;z-index:104}#movebox #borderTop{height:1px;left:0;top:0;width:100%}#movebox #borderLeft{height:100%;left:0;top:0;width:1px}#movebox #borderRight{height:100%;right:0;top:0;width:1px}#movebox #borderBottom{bottom:0;height:1px;left:0;width:100%}#main #movebox #BottomRight,#main #movebox #Bottomleft,#main #movebox #Bottommiddle,#main #movebox #Rightmiddle,#main #movebox #TopRight,#main #movebox #Topleft,#main #movebox #Topmiddle,#main #movebox #leftmiddle{background:#000;border:1px solid #FFF;bottom:-5px;cursor:nw-resize;display:block;filter:alpha(opacity=50);height:8px;opacity:.5;overflow:hidden;position:absolute;right:-5px;width:8px;z-index:105}#main #movebox #Bottomleft{bottom:-5px;cursor:ne-resize;left:-5px}#main #movebox #Bottommiddle{bottom:-5px;cursor:n-resize;left:50%;margin-left:-5px}#main #movebox #Rightmiddle{cursor:e-resize;margin-top:-5px;right:-5px;top:50%}#main #movebox #TopRight{cursor:ne-resize;right:-5px;top:-5px}#main #movebox #Topleft{cursor:nw-resize;left:-5px;top:-5px}#main #movebox #Topmiddle{cursor:n-resize;left:50%;margin-left:-5px;top:-5px}#main #movebox #leftmiddle{cursor:e-resize;left:-5px;margin-top:-5px;top:50%}#main #relat{position:relative;z-index:60}#main #smallbox{background:url();overflow:hidden;position:relative;z-index:100}#main .point{width:100%;line-height:35px;font-size:12px;position:absolute;z-index:200;filter:alpha(opacity=70);opacity:.7}.point i{display:inline-block;height:16px;width:15px;margin-top:10px;float:left;margin-left:20px;margin-right:10px;background:url(../images/bg_repno.png) no-repeat}.complete{background:url(../images/bg.jpg) #CCC;float:left;overflow:hidden;padding-left:5px;padding-top:10px;position:absolute;width:100%;z-index:250}.complete .completeTxt{-moz-border-radius:10px;-moz-box-shadow:0 0 15px 0 #666;background:#FBFDFF;border-radius:10px;bottom:30px;box-shadow:0 0 15px 0 #666;padding-bottom:30px;padding-top:30px;position:absolute;right:30px;text-align:center;width:280px}.complete .completeTxt a{background:url(../images/bg_index.gif) no-repeat 0 -2px;color:#FFF;display:block;font-size:14px;line-height:40px;margin-left:auto;margin-right:auto;width:128px}.complete .completeTxt a:hover{background-position:-137px -2px}.complete .completeTxt p{color:#666;font-size:12px;font-weight:700;margin-bottom:10px;margin-top:10px}.complete .completeTxt strong{font-size:14px}.complete img{border:1px solid #CCC;display:inline-block;float:left;margin:5px 5px;padding:2px}.complete .completeTxt strong i{background:url(../images/bg_repno.png) no-repeat;display:inline-block;height:16px;margin-right:5px;margin-top:-3px;width:15px;vertical-align:middle}#photoalbum{-moz-border-radius:10px;-moz-box-shadow:3px 3px 10px 0 #000;background:#DFEFFF;border:8px solid #999;border-radius:10px;box-shadow:3px 3px 10px 0 #000;display:none;height:340px;left:50%;margin-left:-240.5px;margin-top:-178px;position:absolute;top:50%;width:465px;z-index:210}#photoalbum h1{background:#999;color:#FFF;font-size:15px;height:40px;line-height:30px;padding-left:10px;width:455px}#photoalbum i{background:url(../images/fancybox_sprite.png) no-repeat;display:block;float:left;height:37px;left:429px;position:absolute;top:0;cursor:pointer;width:36px}#photoalbum ul{height:auto;width:100%}#photoalbum ul li{border:1px solid #CCC;cursor:pointer;display:inline;float:left;height:133px;margin:5px;padding:2px;width:100px;overflow:hidden}#photoalbum ul li img{width:100%}#photoalbum ul li:hover{border:1px solid #09F}#CamBox{-moz-border-radius:10px;border-radius:10px;left:50%;position:absolute;-moz-box-shadow:5px 5px 10px 0 #3b3b3f;box-shadow:5px 5px 10px 0 #3b3b3f;width:550px;z-index:250;display:none;top:50%;margin-left:-276px;margin-top:-285px;background:url(../images/cam_bg.jpg) #d5d5d5}#CamBox #CamFlash{background:#fff;height:450px;margin-left:auto;margin-right:auto;width:450px}#CamBox #timing{color:#F60;display:none;font-size:36px;font-weight:700;height:200px;left:50%;line-height:200px;margin-left:-100px;margin-top:-100px;position:absolute;text-align:center;top:50%;width:200px}#CamBox .cambar{height:50px;margin-left:auto;margin-right:auto;padding-top:20px;width:300px}#CamBox .cambar a{background:url(../images/btn5.jpg) no-repeat;float:left;height:31px;line-height:31px;text-align:center;width:79px}#CamBox .lens{background:url(../images/cam.png) no-repeat 50%;height:50px;width:100%}#CamBox .cambar #camClose,#CamBox .cambar #setCam{color:#333}#CamBox .cambar #setCam{margin-right:30px}#CamBox .cambar #camClose:hover,#CamBox .cambar #setCam:hover{background-position:0 -31px}#CamBox .cambar #CamOk{background-position:-79px 0;color:#fff;margin-right:30px}#CamBox .cambar #CamOk:hover{background-position:-79px -31px}.Effects{background:url(../images/Effects/cardboard.png);border-bottom-color:#CCC;border-bottom-style:solid;border-bottom-width:1px;border-top-color:#CCC;border-top-style:solid;border-top-width:1px;color:#FFF;overflow-x:hidden;width:155px;display:none;float:left}.Effects .EffectsStrong{border-bottom-color:#676767;border-bottom-style:solid;border-bottom-width:1px;display:block;font-size:14px;height:30px;line-height:30px;text-align:center;width:100%}.Effects a{border-bottom-color:#676767;border-bottom-style:solid;border-bottom-width:1px;color:#FFF;display:block;padding-bottom:7px;padding-top:5px;vertical-align:middle;text-shadow:#000 0 2px 0;width:100%}.Effects .Aclick,.Effects a:hover{background-color:#A7A7A7}.Effects a img{-moz-border-radius:3px;border-radius:3px;display:inline-block;height:42px;margin-left:7px;margin-right:7px;margin-top:2px;vertical-align:middle;-moz-box-shadow:0 0 5px 0 #999;box-shadow:0 0 5px 0 #999;width:70px}::-webkit-scrollbar{height:13px;width:13px}::-webkit-scrollbar-thumb{background:padding-box #c2c2c2;border:1px solid #979797;min-height:28px}::-webkit-scrollbar-thumb:hover{background:#929292;border:1px solid #636363}::-webkit-scrollbar-track-piece{background:#f5f5f5;border-left:1px solid #d2d2d2}.bottom{width:1000px;padding-bottom:10px;left:2px;color:#666;padding-left:5px;margin-right:auto;margin-left:auto;clear:both;text-align:center}.bottom span{vertical-align:middle;display:inline-block;margin-right:5px;margin-left:2px}.bottom a{color:#666}.header h1 a{font-size:14px;color:#fff}.bottom span img{border-radius:30px;-moz-border-radius:30px}.shearphoto_main .primary{float:left} \ No newline at end of file diff --git a/shearphoto_common/css/ShearPhoto.css b/shearphoto_common/css/ShearPhoto.css index b02cf72..bcc5a2e 100644 --- a/shearphoto_common/css/ShearPhoto.css +++ b/shearphoto_common/css/ShearPhoto.css @@ -729,8 +729,8 @@ width:100% background-color: #A7A7A7; } .Effects a img { --moz-border-radius:5px; -border-radius:5px; +-moz-border-radius:3px; +border-radius:3px; display:inline-block; height:42px; margin-left:7px; diff --git a/shearphoto_common/file/photo/6.jpg b/shearphoto_common/file/photo/6.jpg index ce39299b8b35f1a26378ed5462c2b911e926b240..a9f79dbc64470af66c9cbef140179a12a45971be 100644 GIT binary patch literal 62691 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

`%(tvd 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�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

F17r zPNTvc6n>nMoVY(L2*db)%KreEq68Ft-bT69 zHCxO1;1j_w537b}Rsj?#4Ng8E55=08dsCNBqQiqvDPqZskH(hsc zxB)g$_I^ORU1lkQTSI4WC#XU+&m$=4q&X||;&VSgweZQJo++I9bLPk4%fybJ7$HC7 zmOlnK@_(n|K!)m?x0H2hwJVt*w^=RcFo@n+JvjCa%aSSP%Da3y4#@4jE)6a?&T@?L zc+%m7IP!k*!-K<~Pu;>&^?vjCf6iG%lGcypo7<@`&Y+)Gb8F~9I>@pYxe|#IYA5$` zuLWKovY!rTYdxpaV~#%xUN9NFSz_RnJS{x2csVrx0KESDB>YLvS$~f&6xfIsO*D6K z+N2LCdxb?(;BivGb*A*G&pgX4a>`6Wh9fVd>Xb3x(&P?FR*|CWdQFrT;z0KfOp++6 zR&r`i;AY3R`$js=RIWlKoL`1FtZFNlGX+ z_`W0jtC`)8t#qBPO1b-=y9H*g>G0Qoh-{h440Ln%`?|nb=O^=37{ZV&1 zMyIG=X*23@!{|V=HQYhDg6uXFB7_<*cKxi^;O$K=iw>q5Y31=V7)J(5@c#gJAFJ07 zR~M>(!wxS)BN9lo6uL3D)o<>h(c!wakz-p}7{wZc#*WGeG@pg2OzNZahTY5RAz zH2RLwImCQ?9-l|64~rN_hx+hm2$2;%D?*w(%bV%$TJmQ>5r0fZI0{$c1o&lrr`wRv zr-q*nFUw%ZFB6B3S-pO*l5txvQX zS;AOEvWVix9|KkDo}(siD9a>sM~l^qFAO~r^#0~Q?Qw)e4>hZx>ayv2yh&oVpI!R0 zTU&a|C`E#R@{+y-{cOmWZfRkv(@VuUab7>OlxjVp?8Ab1p@%JHmy5$9Aq;uA1~^VU6XTcD z$38#f;!z1(T5pv#%XGhjKoZSuZY?aN=T&n%F;`%rGEhNq?vAJcId^(*+ zr`3z{@q{Oi9A24m@P7=reLkcJ71DVw`uT0GuP)-ZiqhR6=WiPsT8aTzW-1vu3jYAc ztB}R*UJX35PZm6xCz~v@aORYJEPkWIJaLR=!;{1G{{X+5@DhucM)Og&n%%CgrHj#M z?bstm<%r?~0aQ^<{{Ys_N!IpkvqLC`d~@+*lPq|lmlp>Y9Qc3AN?cx_;q-dGuS+U4 zmt6Tl{{X|b_Rw0vCZiifXLS*Wp(MC2Y08~C=HE%}Ks}?AB=Y2rmO_3MZzQ4q)%&RN zaQ^^1=|P6dmO4hDo?Z)m1FS*j)W3Fm}VDfcBT{Az6Xz!S)V3I z<^AMxe&#$s-SK5I`eppdGK^0Z)iQH;BFrL@KXmKKN}8JZ5%SJ4ww0lsOH>`>ph8Dp z`*`9IR=xU%0f-=-%8HO{?TKC$=Jowa6OBXfMjfftcw3GqVnHuhU9g^pffACQ>R##{!oA6 zMr3FD8lm+e#n-@14MC^&=D&%`;obk$=$HQh?<}9{pVV@h@>uhE?U(lp^#1_Fj%z2) z%L|k2WC}vrG9e*N`X0G9C>yS$?Q|HjL#Nwsmuv+>V`Kf>bm`yah(T0?srj5#rV#bX z1`0Fv`|>3*Q6Fvo&u_Jo2`WwYTljqP1uJ9w2kGmPQm-dN)1bvGhhLy%OC{;{m*ziM zz@Zmu{pkB&>^kH}H7l>a+3VN8T$-Wa{`7SFU$vE%Op@RGgZjzJvSEkjXJk zta``(uWW)>r*E;;bj65YbN2rLXQBDzl|~Quu=VMJDyKi%`bX=+QV};l-Tfw?<4ztPuTh}geFJ*=Wp-2jFJK>)BC~l?}jX7m+N2eWF0@eU!P1u19SD8 z?ERC|=)$2+Kk5FzOhYAmPL1S^ogzm3h;*>li|YS#kdGY2ALn V{Y#f;`Wo>4Yd>eVT-P}-|JiqaK!5-M diff --git "a/shearphoto_common/file/temp\346\230\257\345\271\262\344\273\200\344\271\210\347\232\204.txt" "b/shearphoto_common/file/temp\346\230\257\345\271\262\344\273\200\344\271\210\347\232\204.txt" new file mode 100644 index 0000000..fc42788 --- /dev/null +++ "b/shearphoto_common/file/temp\346\230\257\345\271\262\344\273\200\344\271\210\347\232\204.txt" @@ -0,0 +1,2 @@ +HTML5切图时,不会用到该文件夹 +但是非HTML5切图时,大图要先进行上传,那么这个文件就是用来储存大图,也就是临时图片 \ No newline at end of file diff --git a/shearphoto_common/js/MIN/MIN_ShearPhoto.js b/shearphoto_common/js/MIN/MIN_ShearPhoto.js index 67ac3ef..4c38e15 100644 --- a/shearphoto_common/js/MIN/MIN_ShearPhoto.js +++ b/shearphoto_common/js/MIN/MIN_ShearPhoto.js @@ -1,12 +1 @@ -window.ShearPhoto=function(){this.transform=this.DomMoveEve=this.DomUpEve=this.MoveDivEve=this.zoomEve=this.eveMold=!1,this.DivDownEVe={},this.transformFun(),!this.addevent&&window.addEventListener?(this.addevent="add",this.selectionempty=function(){window.getSelection().removeAllRanges();}):(this.addevent="att",this.selectionempty=function(){document.selection.empty();}),this.MyAjax=new window.ShearPhoto.MyAjax();},window.ShearPhoto.prototype={transformFun:function(){var c,a=document.body.style,b=new Array("MsTransform","MozTransform","WebkitTransform","WebkitTransform","OTransform","transform");for(c=0;cb[0]&&(i=b[0],j=Math.round(b[0]/k)),j>b[0]&&(j=b[0],i=Math.round(b[0]*k),i>b[0]&&(i=b[0],j=Math.round(b[0]/k)))),a.width=i,a.height=j,h.fillStyle="#FFFFFF",h.fillRect(0,0,i,j),h.drawImage(e,0,0,this.width,this.height,0,0,i,j),l=a.toDataURL(c,b?b[1]:.85),f.URL?(f.BOLBID&&f.URL.revokeObjectURL(f.BOLBID),f.BOLBID=f.URL.createObjectURL(f.FormBlob(l)),"function"==typeof d&&d(f.BOLBID)):"function"==typeof d&&d(l),h.clearRect(0,0,i,j),g.removeChild(a),delete l;},e.src=a;},CtxDrawImage:function(a,b,c,d){var g,h,i,j,k,l,m,n,e=b.R,f=d.arg;this.HTML5MAX?(g=b.IW,h=g,i=b.IH,j=g/i,g>this.HTML5MAX?(g=this.HTML5MAX,i=Math.round(g/j),i>this.HTML5MAX&&(i=this.HTML5MAX,g=Math.round(i*j))):i>this.HTML5MAX&&(i=this.HTML5MAX,g=Math.round(i*j),g>this.HTML5MAX&&(g=this.HTML5MAX,i=Math.round(g/j))),j=g/h,delete this.Images,0===e?(k=d.ImgOWidth-b.X,l=d.ImgOHeight-b.Y,m=k*j,n=l*j,c.width=b.IW=g,c.height=b.IH=i,a.fillStyle="#FFFFFF",a.fillRect(0,0,m,n),a.drawImage(f.ImgMain,b.X,b.Y,k,l,0,0,m,n)):this.HandleRotation(d,e,b,c,a,j,g,i)):0===e?(c.width=b.IW,c.height=b.IH,a.fillStyle="#FFFFFF",a.fillRect(0,0,b.IW,b.IH),a.drawImage(f.ImgMain,-b.X,-b.Y)):this.HandleRotation(d,e,b,c,a,1,b.IW,b.IH);},lock:!1,PhotoHTML5True:!1,SetSrc:function(a,b,c,d){var f,e=b.src=c.src=a;for(f=0;f=0?atob(d):unescape(d),e=b.length,f=new Uint8Array(e),g=0;e>g;g++)f[g]=b.charCodeAt(g);return new Blob([f],{type:this.ImagesType});},IfHTML5:function(a,b,c){try{new Blob(["1"],{type:"text/plain"});}catch(d){b=!1;} -a&&b&&(this.canvas=!0,this.HTML5MAX=c);},CanvasImg:function(a,b,c){var f,g,h,i,d=document.createElement("canvas"),e=document.body;if(d.style.display="none",e.appendChild(d),f=d.getContext("2d"),this.CtxDrawImage(f,a,d,c),g=this.FormBlob(d.toDataURL(this.ImagesType,c.arg.HTML5Quality)),f.clearRect(0,0,a.IW,a.IH),e.removeChild(d),h=new FormData(),h.append("ShearPhotoHTML5","True"),h.append("IW",a.IW),h.append("IH",a.IH),h.append("FW",a.FW),h.append("FH",a.FH),"[object Object]"===Object.prototype.toString.call(b))for(i in b)h.append(i,b[i]);return h.append("UpFile",g),h;}},_ieexchange_:function(){function b(b,c){var d=new Array(a[b],a[c]);a[b]=d[1],a[c]=d[0];} -var a=this;b("ImgWidth","ImgHeight");},SetRote:{ROReg:new RegExp("rotate\\((.*?)\\)","i"),SLReg:new RegExp("translate\\((.*?)\\)","i"),run:function(a,b,c,d){var e=a.style,f=!0,g=e[b],h=g.replace(this.ROReg,function(){return f=!1,c;}),i=f?g+" "+c:h,f=!0,j=i.replace(this.SLReg,function(){return f=!1,d;}),i=f?i+" "+d:j;return i;},runSL:function(a,b,c){var d=a.style,e=!0,f=d[b],g=f.replace(this.SLReg,function(){return e=!1,c;});return e?f+" "+c:g;}},_exchange_:function(){var b,c,a=this;return this._ieexchange_(),b=this.rotate,90===b||270===b?(c={90:-1,270:1}[b],this.ImgRotateFun=function(b,d){var e=c*Math.round(.5*(d-b))+"px",f=this.arg,g="translate("+e+","+e+")";return f.ImgMain.style[a.transform]=a.SetRote.runSL(f.ImgMain,a.transform,g),f.ImgDom.style[a.transform]=a.SetRote.runSL(f.ImgDom,a.transform,g),[d,b];},function(b,d,e){var f=c*Math.round(.5*(a.ImgWidth-a.ImgHeight)),g="translate("+f+"px,"+f+"px)";return b.style[a.transform]=a.SetRote.run(b,a.transform,e,g),d.style[a.transform]=a.SetRote.run(d,a.transform,e,g),f;}):(this.preview.WH=[a.ImgWidth,a.ImgHeight],this.ImgRotateFun=function(a,b){return[a,b];},function(b,c,d){return b.style[a.transform]=a.SetRote.run(b,a.transform,d,"translate(0,0)"),c.style[a.transform]=a.SetRote.run(c,a.transform,d,"translate(0,0)"),0;});},preview:{isW:new Array(),isH:new Array(),run:function(a,b){var d,e,f,g,h,i,j,k,l,m,n,s,t,u,w,x,y,z,o,p,q,r,v,c=this;if("[object Array]"===Object.prototype.toString.call(a.preview)&&(d=a.preview.length,e=function(){},f=a.relativeUrl+"images/default.gif",d>0)){for(a.scope.parentNode.insertAdjacentHTML("afterEnd",'

'),g="",h=e,i=!1,a.proportional[0]?i=a.proportional[0]:h=function(a,b,c,d){a[1][c].style.height=Math.round(b[c]/d[0]*d[1])+"px";},j=10,k=5,l=j+2*k,m=0;d>m;m++)this.domWidth+=a.preview[m]+l,n=i?Math.round(a.preview[m]/i)+"px;":"auto;",g+='';this.dom=document.getElementById("preview"),this.dom.innerHTML=g,this.dom.parentNode.style.width=a.scopeWidth+2+"px",o=[this.dom.getElementsByTagName("img"),this.dom.getElementsByTagName("a")],p=function(a,b){a.src=b;},q=function(a,d,e,f){var j,g=Math.round(d[0]*e),h=Math.round(d[1]*e),i=!1;c.isW[f]===g||(a.style.width=g+"px",c.isW[f]=g,i=!0),c.isH[f]===h||(a.style.height=h+"px",c.isH[f]=h,i=!0),i&&b.rotate>10&&180!==b.rotate&&(j=(c.isW[f]-c.isH[f])/2+"px",a.style[b.transform]=b.SetRote.runSL(a,b.transform,"translate("+j+","+j+")"));},r=function(a,c,d,e){if(b.transform){var f=d[1]*e+"px";a.style[c]=b.SetRote.run(a,c,d[0],"translate("+f+","+f+")");}else a.style[c]=d;},v=o[0],this.domimg=[o[0],d],this.close_=function(){for(var b=0;d>b;b++)z=v[b],z.src=f,"cssText"in z.style?z.style.cssText="":z.setAttribute("style","");this.dom.style.display="none",a.Effects&&(a.Effects.style.display="none"),this.dom.parentNode.style.width=a.scopeWidth+2+"px";},this.handle=function(b,c,f,g){var i,j,k,l,m,n,A,B,C,D;for(c&&this.open_(g||a,f),i=b.left,j=b.top,k=b.formAllW,l=b.imgUrl,m=b.TF,n=b.styleR,A=b.R,B=b.formAllH,C=b.HTML3D,s="boolean"==typeof l?e:p,t=m?q:e,u="boolean"==typeof A?e:r,"boolean"==typeof i?i=e:(x=i+a.Border,y=j+a.Border,i=function(a){C.setLT(z,Math.round(x*a)+"px",Math.round(y*a)+"px");}),D=0;d>D;D++)z=v[D],w=a.preview[D]/k,i(w),h(o,a.preview,D,[k,B]),s(z,l),t(z,this.WH,w,D),u(z,n,A,w);};}},dom:!1,domWidth:0,domimg:!1,WH:new Array(2),parentNodes:!1,EffTrue:!1,handle:function(a,b,c){b&&this.open_(c);},close_:function(){this.arg.Effects&&(this.arg.Effects.style.display="none"),this.parentNodes&&(this.parentNodes.style.width=this.arg.scopeWidth+2+"px");},open_:function(a){var b=0;this.arg=a,this.EffTrue?(a.Effects.style.display="block",a.Effects.scrollTop=0,a.Effects.style.height=a.scopeHeight+"px",this.parentNodes=a.Effects.parentNode,b=a.Effects.offsetWidth):a.Effects&&(a.Effects.parentNode.removeChild(a.Effects),a.Effects=!1),this.dom?(this.dom.style.display="block",this.dom.parentNode.style.width=a.scopeWidth+this.domWidth+b+10+"px"):a.Effects&&(a.Effects.parentNode.style.width=a.scopeWidth+this.domWidth+b+2+"px");}},Rotate:function(a){var b,c,d;this.transform?("left"===a?this.rotate-=90:this.rotate+=90,this.rotate={"-90":270,0:0,"-270":90,360:0,180:180,90:90,270:270,"-360":0,"-180":180}[this.rotate]||0,b="rotate("+this.rotate+"deg)",c=this._exchange_(),this.setinitial(this.arg,!0),d=c(this.arg.ImgMain,this.arg.ImgDom,b),this.preview.handle({left:this.ImgDomL,top:this.ImgDomT,formAllW:this.formAllW,formAllH:this.formAllH,imgUrl:!1,styleR:this.transform,R:[b,d],HTML3D:this.HTML5})):("left"===a?this.rotate-=1:this.rotate+=1,this.rotate=this.rotate>3?0:this.rotate<0?3:this.rotate,this.ImgRotateFun=1===this.rotate||3===this.rotate?function(a,b){return[b,a];}:function(a,b){return[a,b];},this.arg.ImgMain.style.filter=this.arg.ImgDom.style.filter=b="progid:DXImageTransform.Microsoft.BasicImage(rotation="+this.rotate+")",this._ieexchange_(),this.preview.handle({left:!1,top:!1,formAllW:this.formAllW,formAllH:this.formAllH,imgUrl:!1,styleR:"filter",R:b,HTML3D:this.HTML5}),this.setinitial(this.arg,!0));},pointhandle:function(a,b,c,d,e,f,g){function l(b,c,d,e){if(b+=e,b>c&&e>0)return k.setT(h,c+"px"),a?setTimeout(function(){l(c,j,d,-1);},a):"function"==typeof g&&g(),void 0;if(c>b&&0>e)try{i.arg.scope.removeChild(h);}catch(f){}else k.setT(h,b+"px"),setTimeout(function(){l(b,c,d,e);},d);} -var i,j,k,m,h=this.arg.scope.children[0];if("point"===h.className&&this.arg.scope.removeChild(h),-1!==a){switch(h=document.createElement("div"),h.className="point",this.arg.scope.insertBefore(h,this.arg.scope.childNodes[0]),i=this,j=-35,k=this.HTML5,h.style.color=f,h.style.backgroundColor=e,h.innerHTML=""+c,m=h.getElementsByTagName("i")[0],d){case 0:m.style.backgroundPosition="-16px 0";break;case 1:m.style.backgroundPosition="0 0";break;case 2:m.style.backgroundPosition="-31px 0";} -l(j,0,b,1);}},setinitial:function(a,b){var g,h,i,j,k,l,c=0,d=0,e=!a.traverse,f=this.HTML5;this.BoxW>this.ImgWidth?(this.relatW=this.ImgWidth,a.relat.style.width=this.ImgWidth+"px",k=Math.round(.5*(this.BoxW-this.ImgWidth)),g=(this.relatL=k)+"px",h=-k+"px"):(a.relat.style.width=this.BoxW+"px",this.relatW=this.BoxW,g=h=this.relatL=0,e&&(c=(this.BoxW-this.ImgWidth)/2)),this.BoxH>this.ImgHeight?(this.relatH=this.ImgHeight,a.relat.style.height=this.ImgHeight+"px",l=Math.round(.5*(this.BoxH-this.ImgHeight)),this.relatT=l,i=l+"px",j=-l+"px"):(this.relatH=this.BoxH,a.relat.style.height=this.BoxH+"px",i=j=this.relatT=0,e&&(d=(this.BoxH-this.ImgHeight)/2)),f.setLT(a.relat,g,i),f.setLT(a.black,h,j),this.AmendOffset(),this.MovePhoto(b,c,d,e);},MovePhoto:function(a,b,c,d){var h,i,j,k,l,m,o,p,q,r,e=this.arg,f=e.ImgDom,g=e.ImgMain,n=this.HTML5;e.traverse&&this.BoxWthis.relatW&&(g=c-this.relatW,g>this.formLeft?(this.formW=this.formW-(g-this.formLeft),this.formLeft=0,e="0px",this.saveL=this.relatL,this.formAllW=this.formW+this.Mdouble):(this.formLeft-=g,e=this.formLeft+"px",this.saveL=this.formLeft+this.relatL)),d>this.relatH&&(h=d-this.relatH,h>this.formTop?(this.formH=this.formH-(h-this.formTop),this.formTop=0,f="0px",this.saveT=this.relatT,this.formAllH=this.formH+this.Mdouble):(this.formTop=this.formTop-h,f=this.formTop+"px",this.saveT=this.formTop+this.relatT)),e&&f?a.setLT(this.formParent,e,f):e?a.setL(this.formParent,e):f&&a.setT(this.formParent,f),this.arg.proportional[0]&&(i=Math.round(this.formAllW/this.arg.proportional[0]),i>this.formAllH?(this.formAllW=Math.round(this.formAllH*this.arg.proportional[0]),this.formW=this.formAllW-this.Mdouble):(this.formAllH=i,this.formH=i-this.Mdouble)),this.arg.form.style.width=this.formW+"px",this.arg.form.style.height=this.formH+"px",this.ie6(this.formParent,this.formAllW,this.formAllH);},MaxMinLimit:function(a){a.ImgWidth=a.ImgOWidth=this.width,a.ImgHeight=a.ImgOHeight=this.height,"number"==typeof a.arg.Max&&(a.ImgWidth>a.arg.Max&&(a.ImgWidth=a.arg.Max,a.ImgHeight=Math.round(a.ImgWidth/a.ImgScales)),a.ImgHeight>a.arg.Max&&(a.ImgHeight=a.arg.Max,a.ImgWidth=Math.round(a.ImgHeight*a.ImgScales)));var b,c;a.arg.proportional[0]?(b=a.Min,c=Math.round(b*a.arg.proportional[0]),c0||!(this.height=Math.round(this.height))>0?(c.pointhandle(3e3,10,"\u8bf7\u9009\u62e9\u6b63\u786e\u56fe\u7247",0,"#f82373","#fff"),void 0):(d.ImgMain.src=d.ImgDom.src=e,d.black.style.zIndex=99,c.ImgScales=this.width/this.height,c.Min=d.Min,c.MaxMinLimit.call(this,c),d.ImgMain.style.width=d.ImgDom.style.width=c.artworkW+"px",d.ImgMain.style.height=d.ImgDom.style.height=c.artworkH+"px",c.BoxW=d.scope.offsetWidth-2,c.BoxH=d.scope.offsetHeight-2,c.Border=d.Border,c.Mdouble=2*d.Border,d.proportional[0]?(b=d.proportional[1]-c.Mdouble,f=d.proportional[1]/d.proportional[0]-c.Mdouble):(b=d.proportional[1]-c.Mdouble,f=d.proportional[2]-c.Mdouble),c.formW=b=Math.round(b),c.formH=f=Math.round(f),c.formAllW=b+c.Mdouble,c.formAllH=f+c.Mdouble,c.preview.WH=[c.artworkW,c.artworkH],c.formParent=d.form.offsetParent,c.et(),c.setinitial(d),c.preview.handle({left:!1,top:!1,formAllW:c.formAllW,formAllH:c.formAllH,TF:!0,imgUrl:e,styleR:!1,R:!1,HTML3D:c.HTML5},!0,d),g=c.MoveDiv=new window.ShearPhoto.MoveDiv(),g.reckon(d.relat,!1),g.selectionempty=c.selectionempty,g.addevent=c.addevent,g.HTML5=c.HTML5,g.run({to:new Array(d.form),form:c.formParent,MoveWidth:c.relatW,MoveHeight:c.relatH,shifting:new Array(),center:1,centerFront:function(){return[c.relatW,c.relatH];},DivDownFun:function(a){a.arg.MoveWidth=c.relatW,a.arg.MoveHeight=c.relatH,a.DivW=c.formW+c.Mdouble,a.DivH=c.formH+c.Mdouble;},centerfun:function(a,b,d){c.formLeft=a,c.formTop=b,c.MovePhoto(!1,0,0),d.arg.MoveWidth=c.relatW,d.arg.MoveHeight=c.relatH,d.DivW=c.formW+c.Mdouble,d.DivH=c.formH+c.Mdouble;},zIndex:100,MoveFun:function(a,b){c.formLeft=a,c.formTop=b,c.MovePhoto(!0,0,0);}}),c.MoveDivEve=function(){g.delDownEve();},d.Shearbar.style.display="block",d.SelectBox.style.visibility="hidden",c.zoom(),c.pointhandle(3e3,10,"\u53ef\u4ee5\u62d6\u52a8\u6216\u62c9\u4f38\u84dd\u8fb9\u6846\u8fdb\u884c\u622a\u56fe",1,"#fbeb61","#3a414c"),delete e,delete a,void 0);},f.onerror=function(){c.pointhandle(0,10,"\u65e0\u6cd5\u8bfb\u53d6\u56fe\u7247\u3002\u56fe\u7247\u7c7b\u578b\u6216\u8def\u5f84\u4e0d\u6b63\u786e \u6216 relativeUrl\u53c2\u6570\u662f\u5426\u5b58\u5728\u95ee\u9898",0,"#f82373","#fff");},f.src=e,this.HTML5.canvas&&b||(this.ImgUrl=a);},config:function(a){var b,c,d,f,e,g,h;if(this.arg=a,a.Shearbar.style.display="none",a.scope.style.width=a.black.style.width=a.SelectBox.style.width=a.scopeWidth+"px",a.scope.style.height=a.black.style.height=a.SelectBox.style.height=a.scopeHeight+"px",b=a.scope.parentNode,b.style.width=b.parentNode.style.width=a.scopeWidth+2+"px",this.HTML5.IfHTML5(this.transform,a.HTML5,a.HTML5MAX),this.HTML5.HTML5LT(a.translate3d&&this.transform),c=this.transform?function(a,b){a.style.opacity=b;}:function(a,b){a.style.filter="alpha(opacity="+100*b+")";},a.Border>0){a.DynamicBorder[0].style.display=a.DynamicBorder[1].style.display=a.DynamicBorder[2].style.display=a.DynamicBorder[3].style.display="none",a.DynamicBorder[0].style.background=a.DynamicBorder[1].style.background=a.DynamicBorder[2].style.background=a.DynamicBorder[3].style.background="#FFF";for(d in a.to)a.to[d].style.border="1px solid "+a.BorderColor,a.to[d].style.background=a.BorderColor,c(a.to[d],1);a.form.style.border=a.Border+"px"+" "+a.BorderStyle+" "+a.BorderColor;} -if(a.black.style.background=a.backgroundColor,c(a.black,a.backgroundOpacity),this.preview.run(a,this),a.scope.ondragstart=function(){return!1;},this.ie6=navigator.userAgent.indexOf("MSIE 6.0")>0&&0===a.Border?function(b,c,d){b.style.height=a.DynamicBorder[1].style.height=a.DynamicBorder[2].style.height=d+"px",b.style.width=c+"px";}:function(){},this.preview.EffTrue=a.HTML5Effects&&this.HTML5.canvas&&a.Effects)for(e=a.Effects.getElementsByTagName("a"),g=this.HTML5.Effects,this.HTML5.artwork=this.HTML5.Aclick=e[0],h=0;hb?Math.round(i*b+10)/100:Math.round(b*h-100)/100,f=Math.round(a.artworkW*c),j=Math.round(a.artworkH*c),e>f&&(f=e,j=Math.round(f/a.ImgScales)),d>j&&(j=d,f=Math.round(j*a.ImgScales)),k=a.ImgRotateFun(f,j),a.ImgWidth=k[0],a.ImgHeight=k[1],a.arg.ImgMain.style.width=a.arg.ImgDom.style.width=f+"px",a.arg.ImgMain.style.height=a.arg.ImgDom.style.height=j+"px",a.preview.WH=[f,j],a.setinitial(a.arg,!0);}}),a.zoomEve=function(){b.delDownEve();},f=b.ReckonWH.W-b.DivW,g=.5*f,h=200/g,i=90/g;},PointerShape:function(a){this.arg.scope.style.cursor=this.arg.form.style.cursor=a;},DelPointerShape:function(){this.arg.scope.style.cursor="",this.arg.form.style.cursor="move";},ShearPhotoDown:function(a,b){this.addEvent(a,"mousedown",b),this.addEvent(a,"touchstart",b);},delShearPhotoDown:function(a,b){this.delEvent(a,"mousedown",b),this.delEvent(a,"touchstart",b);},et:function(){for(var a in this.arg.to)"add"===this.addevent?("function"!=typeof this.DivDownEVe[a]?this.DivDownEVe[a]=this.DivDown(a):this.delShearPhotoDown(this.arg.to[a],this.DivDownEVe[a]),this.ShearPhotoDown(this.arg.to[a],this.DivDownEVe[a])):this.arg.to[a].onmousedown=this.DivDown(a);},addEvent:function(a,b,c){var d={add:function(){a.addEventListener(b,c,!1);},att:function(){a.attachEvent("on"+b,c);}};d[this.addevent]&&d[this.addevent]();},delEvent:function(a,b,c){var d={add:function(){a.removeEventListener(b,c,!1);},att:function(){a.detachEvent("on"+b,c);}};d[this.addevent]&&d[this.addevent]();},DomUp:function(a){var b=this;return function(){return"function"==typeof b.arg.UpFun&&b.arg.UpFun(),a.releaseCapture&&a.releaseCapture(),b.DelPointerShape(),"function"==typeof b.DomMoveEve&&b.delEvent(document,b.eveMold[1],b.DomMoveEve),"function"==typeof b.DomUpEve&&(b.delEvent(document,b.eveMold[2],b.DomUpEve),b.delEvent(window,b.eveMold[2],b.DomUpEve),b.delEvent(window,"blur",b.DomUpEve),b.delEvent(a,"losecapture",b.DomUpEve)),!1;};},setWHfalse:function(a,b,c,d,e,f){return b>e&&(b=e),c>f&&(c=f),be&&(b=e),bf&&(c=f),ce?(b=e,a=Math.round(b*c),this.CycleCalculation.apply(this,arguments)):a>d?(a=d,b=Math.round(a/c),this.CycleCalculation.apply(this,arguments)):b1?(a.DomUp(this)(),!1):(l=a.eveMold[3](b,"clientX"),m=a.eveMold[3](b,"clientY"),q=a.arg.form,setTimeout(function(){o=e*(l-c),p=f*(m-d),a.selectionempty(),n=a.drawfun(q,o,p,a.arg.proportional[0],h,i),o=n[0],p=n[1],a.amend(o,p,g,j,k),a.formAllW=o,a.formAllH=p,o=a.formW=o-a.Mdouble,p=a.formH=p-a.Mdouble,q.style.width=o+"px",q.style.height=p+"px",a.ie6(g,o,p),a.MovePhoto(!0,0,0);},1),!1);};},defaultShear:function(){this.arg.Shearbar.style.display="none","function"==typeof this.MoveDivEve&&this.MoveDivEve(),"function"==typeof this.zoomEve&&this.zoomEve(),"cssText"in this.arg.ImgMain.style?this.arg.ImgMain.style.cssText=this.arg.ImgDom.style.cssText="":(this.arg.ImgMain.setAttribute("style",""),this.arg.ImgDom.setAttribute("style","")),this.arg=this.ImgUrl=this.formW=this.formH=this.formAllW=this.formAllH=this.drawfun=this.formParent=this.ImgWidth=this.ImgHeight=this.artworkW=this.artworkH=this.BoxW=this.BoxH=this.Border=this.Mdouble=this.ImgScales=this.Min=this.formLeft=this.formTop=this.relatL=this.relatT=this.relatW=this.relatH=this.saveL=this.ImgOWidth=this.ImgOHeight=this.saveT=this.HTML5.lock=this.HTML5.PhotoHTML5True=!1,this.rotate=this.ImgMainT=this.ImgDomT=this.ImgMainL=this.ImgDomL=0,this.ImgRotateFun=function(a,b){return[a,b];};},SendUserMsg:function(a,b,c,d,e,f,g){this.arg.black.style.zIndex=f?199:99,this.pointhandle(b,10,a,c,d,e),this.arg.Shearbar.style.display=g?"none":"block";},again:function(){this.arg.SelectBox.style.visibility="visible",this.arg.Shearbar.style.display="none",this.arg.ImgDom.src=this.arg.ImgMain.src=this.arg.relativeUrl+"images/default.gif";},CoordinateData:function(a){var d,e,f,g,h,i,j,b=function(a,b,c){return 1>a&&(a=1,b=Math.round(1/c)),1>b&&(b=1,a=Math.round(c)),[a,b];},c={};return a||(c.url="../"+this.ImgUrl),d={1:270,2:180,3:90,90:270,180:180,270:90}[this.rotate]||(d=this.rotate),e=this.ImgWidth,f=this.ImgHeight,g={0:e,90:f,180:e,270:f},h=this.ImgOWidth/g[d],c.R=d,c.X=Math.round((Math.abs(this.ImgDomL)-this.Border)*h),c.Y=Math.round((Math.abs(this.ImgDomT)-this.Border)*h),c.P=this.arg.proportional[0],i=this.formAllW/this.formAllH,j=b(Math.round(this.formAllW*h),Math.round(this.formAllH*h),i),c.IW=j[0],c.IH=j[1],j=b(this.formAllW,this.formAllH,i),c.FW=j[0],c.FH=j[1],c;},SendPHP:function(a){var c,e,b,d,g,h;if(this.SendUserMsg("\u6b63\u5728\u4e3a\u4f60\u5904\u7406\u622a\u56fe\uff0c\u7a0d\u7b49...",0,2,"#fbeb61","#3a414c",!0,!0),b=this,d=this.HTML5,(d.HTML5PHP||d.PhotoHTML5True)&&d.canvas)try{d.BOLBID&&d.URL.revokeObjectURL(d.BOLBID),c=this.CoordinateData(!0),e=d.CanvasImg(c,a,this);}catch(f){return b.SendUserMsg("\u9519\u8bef\uff1a\u5207\u5272\u56fe\u7247\u65f6\u4e25\u91cd\u62a5\u9519,\u8bf7\u66f4\u6362\u6d4f\u89c8\u5668\u8bd5\u8bd5\uff0c\u6216\u8005\u6362\u5f20\u56fe\u7247",5e3,0,"#f4102b","#fff",!1),void 0;}else{if(g="","[object Object]"===Object.prototype.toString.call(a))for(h in a)g+="&"+h+"="+a[h];c=this.CoordinateData(),e="JSdate="+window.ShearPhoto.JsonString.JsonToString(c)+g;} -this.MyAjax.carry({url:b.arg.url,data:e,type:"POST",timeout:1e4,async:!0,lock:!0,complete:!1,success:function(a){return a=window.ShearPhoto.JsonString.StringToJson(a),a===!1?(b.SendUserMsg("\u9519\u8bef\uff1a\u8bf7\u4fdd\u8bc1\u540e\u7aef\u73af\u5883\u8fd0\u884c\u6b63\u5e38",5e3,0,"#f4102b","#fff",!1),void 0):a["erro"]?(b.SendUserMsg("\u9519\u8bef\uff1a"+a["erro"],5e3,0,"#f4102b","#fff",!1),void 0):("function"==typeof b.complete&&b.complete(a),void 0);},error:function(){b.SendUserMsg("\u9519\u8bef\uff1a\u8fde\u63a5\u540e\u7aef\u5931\u8d25\uff0c\u53ef\u80fd\u539f\u56e0\uff0c\u8d85\u65f6\uff01\u6216\u8005\u540e\u7aef\u73af\u5883\u65e0\u6cd5\u8fd0\u884c",5e3,0,"#f4102b","#fff",!1);},cache:!1});},DivDown:function(a){var g,h,i,j,k,l,m,b=this,c=1,d=1,e="NO",f="NO";return function(n){var q,r,o,p,s,t,u,v,w,x;if(n=n||window.event,o=n.button,p=typeof o,n.preventDefault&&n.preventDefault(),"number"!==p?(b.eveMold=["touchstart","touchmove","touchend",function(a,b){return a.touches[0][b];}],q=n.touches[0].clientX,r=n.touches[0].clientY):(b.eveMold=["mousedown","mousemove","mouseup",function(a,b){return a[b];}],q=n.clientX,r=n.clientY),2>o||"number"!==p){switch(i=b.formAllW,j=b.formAllH,l=b.formParent,k=b.formLeft,m=b.formTop,a){case"BottomRight":g=b.relatW-k,h=b.relatH-m,b.drawfun=b.arg.proportional[0]?b.setHtrue:b.setWHfalse,b.PointerShape("nw-resize");break;case"TopRight":d=-1,f="TT",g=b.relatW-k,h=m+b.formAllH,b.drawfun=b.arg.proportional[0]?b.setHtrue:b.setWHfalse,b.PointerShape("ne-resize");break;case"Bottomleft":c=-1,e="LL",g=k+b.formAllW,h=b.relatH-m,b.drawfun=b.arg.proportional[0]?b.setHtrue:b.setWHfalse,b.PointerShape("ne-resize");break;case"Topleft":d=c=-1,e="LL",f="TT",g=k+b.formAllW,h=m+b.formAllH,b.drawfun=b.arg.proportional[0]?b.setHtrue:b.setWHfalse,b.PointerShape("nw-resize");break;case"Topmiddle":e="ML",s=k,t=b.relatW-s-b.formAllW,g=2*Math.min(s,t)+b.formAllW,f="TT",h=m+b.formAllH,d=-1,b.drawfun=b.arg.proportional[0]?b.setHtrue:b.setHfalse,b.PointerShape("n-resize");break;case"leftmiddle":d=c=-1,g=k+b.formAllW,u=m,v=b.relatH-u-b.formAllH,h=2*Math.min(u,v)+b.formAllH,f="MT",e="LL",b.drawfun=b.arg.proportional[0]?b.setWtrue:b.setWfalse,b.PointerShape("e-resize");break;case"Rightmiddle":g=b.relatW-k,u=m,v=b.relatH-u-b.formAllH,h=2*Math.min(u,v)+b.formAllH,f="MT",b.drawfun=b.arg.proportional[0]?b.setWtrue:b.setWfalse,b.PointerShape("e-resize");break;case"Bottommiddle":s=k,t=b.relatW-s-b.formAllW,g=2*Math.min(s,t)+b.formAllW,h=b.relatH-m,b.drawfun=b.arg.proportional[0]?b.setHtrue:b.setHfalse,e="ML",b.PointerShape("n-resize");} -w=q-c*i,x=r-d*j,this.setCapture&&this.setCapture(),"function"==typeof b.DomMoveEve&&b.delEvent(document,b.eveMold[1],b.DomMoveEve),b.DomMoveEve=b.DomMove(b,this,w,x,c,d,l,g,h,e,f),b.addEvent(document,b.eveMold[1],b.DomMoveEve);}else b.DomUp(this)();return!1;};}},window.ShearPhoto.MINGGE=function(a){function b(){try{document.documentElement.doScroll("left");}catch(c){return setTimeout(b,13),void 0;} -a();}"function"==typeof a&&(document.addEventListener?document.addEventListener("DOMContentLoaded",a,!1):window.attachEvent?b():alert("MINGGE ERRO"));},window.ShearPhoto.MoveDiv=function(){this.arg=new Array(),this.ReckonWH=this.DivW=this.DivH=this.selectionempty=this.addevent=this.DivDownEVe=this.DomMoveEve=this.DomUpEve=this.eveMold=!1;},window.ShearPhoto.MoveDiv.prototype={ZeroSetting:function(){var h,a=this.HTML5.getLT(this.arg.form),b=parseFloat(a[0]),c=parseFloat(a[1]),d=this._size_(window,!0),e=function(){},f=function(){},g=!1;isNaN(b)||(g=!0,this.HTML5.setL(this.arg.form,0),e=function(a,c){0>a&&(a=0),this_.HTML5.setL(c,b-a+"px");}),isNaN(c)||(g=!0,this.HTML5.setT(this.arg.form,0),f=function(a,b){0>a&&(a=0),this_.HTML5.setT(b,c-a+"px");}),g===!0&&(h=this._size_(window,!0),e(d.W-h.W,this.arg.form),f(d.H-h.H,this.arg.form));},reckon:function(a,b){var c,d;this._size_(a),c=this,b===!0&&(d=function(){c.ZeroSetting(),c._size_(a),c.arg.MoveWidth=c.ReckonWH.W,c.arg.MoveHeight=c.ReckonWH.H,c.SetCenter(c.arg);},this.addEvent(window,"resize",d));},_size_:function(a,b){var c,d,e,f;return a===window?(f={add:document.documentElement,att:document.body}[this.addevent],c=f.clientWidth,d=f.clientHeight,e={W:Math.max(f.scrollWidth,c),H:Math.max(f.scrollHeight,d),CW:c,CH:d}):(c=a.offsetWidth,d=a.offsetHeight,e={W:c,H:d,CW:c,CH:d}),b===!0?e:(this.ReckonWH=e,void 0);},DomUp:function(a){var b=this;return function(){return a.releaseCapture&&a.releaseCapture(),"function"==typeof b.DomMoveEve&&b.delEvent(document,b.eveMold[1],b.DomMoveEve),"function"==typeof b.DomUpEve&&(b.delEvent(document,b.eveMold[2],b.DomUpEve),b.delEvent(window,b.eveMold[2],b.DomUpEve),b.delEvent(window,"blur",b.DomUpEve),b.delEvent(a,"losecapture",b.DomUpEve)),!1;};},DivWHFun:function(){this.DivW=this.arg.form.offsetWidth,this.DivH=this.arg.form.offsetHeight;},DomMove:function(a,b,c,d){var j,q,r,s,t,o,p,g=a.arg.form,h=a.DivW,i=a.DivH,k=function(){},l=a.arg.shifting="[object Array]"===Object.prototype.toString.call(a.arg.shifting)&&a.arg.shifting.length>1?a.arg.shifting:new Array(0,0),m=a.arg.MoveWidth-l[0],n=a.arg.MoveHeight-l[1];return"function"==typeof a.DomUpEve&&(a.delEvent(document,a.eveMold[2],a.DomUpEve),a.delEvent(window,a.eveMold[2],a.DomUpEve),a.delEvent(window,"blur",a.DomUpEve),a.delEvent(b,"losecapture",a.DomUpEve)),a.DomUpEve=a.DomUp(b),a.addEvent(document,a.eveMold[2],a.DomUpEve),a.addEvent(window,a.eveMold[2],a.DomUpEve),a.addEvent(window,"blur",a.DomUpEve),a.addEvent(b,"losecapture",a.DomUpEve),o=m-h,p=n-i,"function"==typeof a.arg.MoveFun&&(k=a.arg.MoveFun),j=[o,p],function(b){return b=b||window.event,b.button>1?(a.DomUp(this)(),!1):(s=a.eveMold[3](b,"clientX"),t=a.eveMold[3](b,"clientY"),setTimeout(function(){q=s-c,r=t-d,a.selectionempty(),q=q<-l[0]?-l[0]:q,q=q>o?o:q,r=r<-l[1]?-l[1]:r,r=r>p?p:r,a.HTML5.setLT(g,q+"px",r+"px"),k(q,r,j);},1),!1);};},DivDown:function(){var a=this;return function(b){var e,f,c,d,g,h,i,j,k;return b=b||window.event,c=b.button,d=typeof c,b.preventDefault&&b.preventDefault(),"number"!==d?(a.eveMold=["touchstart","touchmove","touchend",function(a,b){return a.touches[0][b];}],e=b.touches[0].clientX,f=b.touches[0].clientY):(a.eveMold=["mousedown","mousemove","mouseup",function(a,b){return a[b];}],e=b.clientX,f=b.clientY),2>c||"number"!==d?(g=a.HTML5.getLT(a.arg.form),h=parseFloat(g[0]),i=parseFloat(g[1]),j=e-h,k=f-i,this.setCapture&&this.setCapture(),"function"==typeof a.arg.DivDownFun&&a.arg.DivDownFun(a),"function"==typeof a.DomMoveEve&&a.delEvent(document,a.eveMold[1],a.DomMoveEve),a.DomMoveEve=a.DomMove(a,this,j,k,h,i),a.addEvent(document,a.eveMold[1],a.DomMoveEve)):a.DomUp(this)(),!1;};},ShearPhotoDown:function(a,b){this.addEvent(a,"mousedown",b),this.addEvent(a,"touchstart",b);},delShearPhotoDown:function(a,b){this.delEvent(a,"mousedown",b),this.delEvent(a,"touchstart",b);},et:function(){var c,a=this,b=this.arg.cursor||"move";for(a=this,c=0;cf?0:f,g=Math.round((b-this.DivW)/2),g=0>g?0:g,this.HTML5.setLT(a,g+"px",f+"px"),"function"==typeof d.centerfun&&d.centerfun(g,f,this);},addEvent:function(a,b,c){var d={add:function(){a.addEventListener(b,c,!1);},att:function(){a.attachEvent("on"+b,c);}};d[this.addevent]&&d[this.addevent]();},delEvent:function(a,b,c){var d={add:function(){a.removeEventListener(b,c,!1);},att:function(){a.detachEvent("on"+b,c);}};d[this.addevent]&&d[this.addevent]();},SetCenter:function(a){var b,c,d;a.center&&(1===a.center?(b=this.ReckonWH.CW,c=this.ReckonWH.CH):(d=this._size_(a.center,!0),b=d.CW,c=d.CH),this.setdiv(a.form,b,c,a));},run:function(a){this.arg=a,this.DivW=a.form.offsetWidth,this.DivH=a.form.offsetHeight,this.SetCenter(a),"number"==typeof a.zIndex&&(a.form.style.zIndex=a.zIndex),this.et();}},window.ShearPhoto.JsonString={_json_:null,JsonToString:function(a){try{this._json_=new Array(),this._read_(a,!0);var b=this._json_.join("");return b=b.replace(/,([\}\]])/g,function(a,b){return b;}),this._json_=null,b;}catch(c){return alert("\u53d1\u751f\u9519\u8bef\uff0c\u9519\u8bef\u4ee3\u7801--"+c),"";}},StringToJson:function(a){var b,c;if("string"!=typeof a)return alert("\u8bf7\u4f20\u5165JSON\u5b57\u4e32\u7b26,\u770b\u6e05\u695ademo.html\u662f\u600e\u4e48\u64cd\u4f5c\u7684"),void 0;try{return b=new Function("return ("+a+")")(),c=this._type_(b),"[object Object]"!==c&&"[object Array]"!==c?(alert("\u4e25\u91cd\u62a5\u9519\uff1a\u540e\u7aef\u6ca1\u8fd4\u56de\u5230JSON\uff0c\u800c\u662f\u4e00\u4e32\u65e0\u6548\u5b57\u7b26\u4e32\u3002\n\n\u4f60\u662f\u5728\u8c03\u8bd5\u5417\uff1f\n\n\u90a3\u4e48\u6309\u786e\u5b9a\uff0c\u67e5\u770b\u90a3\u4e32\u65e0\u6548\u5b57\u7b26\u4e32\u5427"),alert(a),!1):b;}catch(d){return alert("\u4e25\u91cd\u62a5\u9519\uff1a\u540e\u7aef\u6ca1\u8fd4\u56de\u5230JSON\uff0c\u800c\u662f\u4e00\u4e32\u65e0\u6548\u5b57\u7b26\u4e32\u3002\n\n\u4f60\u662f\u5728\u8c03\u8bd5\u5417\uff1f\n\n\u90a3\u4e48\u6309\u786e\u5b9a\uff0c\u67e5\u770b\u90a3\u4e32\u65e0\u6548\u5b57\u7b26\u4e32\u5427"),alert(a),!1;}},_type_:function(a){if("number"==typeof a.nodeType)return"[object document]";var b=Object.prototype.toString.call(a);return b;},_addjson_:function(a,b,c){var e={"[object Object]":b,"[object Array]":c};this._json_.push(e[a]);},_addstring_:function(a){var c,b=typeof a;return"string"===b?'"'+a+'"':"number"===b?a:(c=this._type_(a),"[object Object]"===c||"[object Array]"===c?!1:'""');},_read_:function(a,b){var d,e,c=this._type_(a);if(b&&"[object Object]"!==c&&"[object Array]"!==c)return alert("\u4f60\u4f20\u5165\u4e0d\u662f\u6570\u7ec4\u6216JSON,\u770b\u6e05\u695ademo.html\u662f\u600e\u4e48\u64cd\u4f5c\u7684"),this._json_=null,!1;this._addjson_(c,"{","[",b);for(d in a)"undefined"==typeof a.constructor.prototype[d]&&(e=this._addstring_(a[d]),"boolean"!=typeof e?this._addjson_(c,'"'+d+'":'+e+",",e+","):(this._addjson_(c,'"'+d+'":',""),this._read_(a[d],!1)));b=b?"":",",this._addjson_(c,"}"+b,"]"+b);}},window.ShearPhoto.MyAjax=function(){this.serverdata=this.erromsg=this.timeout=this.stop=this.xmlhttp=!1,this.transit=!0;},window.ShearPhoto.MyAjax.prototype.handle=function(a,b){if(4==a.readyState){if(this.stop===!0)return;if(this.transit=!0,b.timeout&&b.async&&(clearTimeout(this.timeout),this.timeout=!1),200==a.status){var c=this.serverdata=a.responseText.replace(/(^\s*)|(\s*$)/g,"");"function"==typeof b.success&&b.success(c);}else this.erromsg=a.status,"function"==typeof b.error&&b.error(a.status);}else if(0==a.readyState){if(this.stop===!0)return;b.timeout&&b.async&&(clearTimeout(this.timeout),this.timeout=!1),this.erromsg=a.readyState,this.transit=!0,"function"==typeof b.error&&b.error(a.readyState);}},window.ShearPhoto.MyAjax.prototype.out=function(a){this.transit=!0,this.erromsg=504,this.stop=!0,"function"==typeof a.error&&a.error(504);},window.ShearPhoto.MyAjax.prototype.carry=function(a){var b,c,d,e;if(a.lock&&!this.transit)return!1;this.transit=!1,this.stop=this.erromsg=!1,b=window.XMLHttpRequest?new XMLHttpRequest():new ActiveXObject("Microsoft.XMLHTTP"),a.type=a.type.toUpperCase(),c=function(){},"string"==typeof a.data?(a.data=a.data.replace(/(^\s*)|(\s*$)/g,""),c=function(){b.setRequestHeader("Content-Type","application/x-www-form-urlencoded");}):"[object FormData]"!==Object.prototype.toString.call(a.data)?(a.data="",c=function(){b.setRequestHeader("Content-Type","application/x-www-form-urlencoded");}):("function"==typeof a.progress&&b.upload.addEventListener("progress",a.progress,!1),a.type="POST"),d=""==a.data?[null,""]:[a.data,"?"+a.data],e=this,"function"==typeof a.complete&&a.complete(),a.timeout&&a.async&&(this.timeout=setTimeout(function(){e.out(a);},a.timeout)),a.async===!0&&(b.onreadystatechange=function(){e.handle(b,a);});try{switch(a.type){case"POST":b.open("POST",a.url,a.async),c();break;default:b.open("GET",a.url+d[1],a.async),a.cache===!0||b.setRequestHeader("If-Modified-Since","0");}}catch(f){return this.erromsg=505,a.timeout&&a.async&&(clearTimeout(this.timeout),this.timeout=!1),this.transit=!0,"function"==typeof a.error&&a.error(505),void 0;} -b.send(d[0]),a.async===!1&&e.handle(b,a);},window.ShearPhoto.frameUpImg=function(a){this.BodyDom=document.body,this.FORM=document.getElementById("ShearPhotoForm"),this.upfile=this.FORM.UpFile,this.config=a,this.upfileclick=!1,"function"!=typeof a.erro&&(a.erro=function(){}),this.FORM.action=a["url"];var b=this;this.parentNodes=this.upfile.parentNode,window.attachEvent&&(this.parentNodes.onmousemove=function(){var a=window.event.offsetX+5;0>a&&(a=0),a>224&&(a=224),b.upfile.style.width=a+"px";});},window.ShearPhoto.frameUpImg.prototype={createframe:function(){this.BodyDom.insertAdjacentHTML("afterBegin",''),this.iframe=document.getElementsByName("POSTiframe")[0],this.createEve(this.iframe,window.frames["POSTiframe"]);},createEve:function(a,b){var c=this;this.upfile.files?a.onload=function(){var d,e;a.onload=null,d=b.document.getElementsByTagName("BODY")[0],e=d.innerHTML,c.Evebubbling(e);}:a.onreadystatechange=function(){var d,e;"complete"===a.readyState&&(a.onreadystatechange=null,d=b.document.getElementsByTagName("BODY")[0],e=d.innerHTML,c.Evebubbling(e));};},delframe:function(){this.BodyDom.removeChild(this.iframe),this.DelCreateUpfile();},Evebubbling:function(a){""!=a&&(this.upfile.onclick=this.upfileclick,"function"==typeof this.fun&&this.fun(a),this.delframe());},inArray:function(a,b){if(b.indexOf)return b.indexOf(a);for(var c=0,d=b.length;d>c;c++)if(b[c]===a)return c;return-1;},DelCreateUpfile:function(){var b,a=this.upfile.onchange;this.upfile.onchange=null,this.parentNodes.removeChild(this.upfile),b=document.createElement("input"),b.setAttribute("type","file"),b.setAttribute("name","UpFile"),this.parentNodes.appendChild(b),this.upfile=b,this.upfile.onchange=a,this.upfile.onclick=this.upfileclick;},Upsubmit:function(a){var b,c,d,e;try{if(b=a.value.split("."),b="[object Array]"===Object.prototype.toString.call(b)?b[b.length-1]:"",-1==this.inArray(b.toLowerCase(),this.config.UpType))return this.DelCreateUpfile(),this.config.erro("\u8bf7\u9009\u62e9\u6b63\u786e\u56fe\u7247\u7c7b\u578b"),void 0;if(c=a.files){if(c=c[0],c.type&&(this.config.HTML5.ImagesType=c.type),c.size<=0)return this.DelCreateUpfile(),this.config.erro("\u9519\u8bef\uff1a\u4e0d\u80fd\u9009\u62e9\u7a7a\u5b57\u8282\u6587\u4ef6"),void 0;if(this.config.HTML5.canvas){if(c.size>1024*1024*this.config.HTML5FilesSize)return this.DelCreateUpfile(),this.config.erro("\u9519\u8bef\uff1aHTML5\u4e0a\u4f20\u4e0d\u80fd\u5927\u4e8e"+this.config.HTML5FilesSize+"M"),void 0;}else if(c.size>1024*1024*this.config.FilesSize)return this.DelCreateUpfile(),this.config.erro("\u9519\u8bef\uff1a\u6587\u4ef6\u4e0d\u80fd\u5927\u4e8e"+this.config.FilesSize+"M"),void 0;} -if("function"==typeof this.config.preced&&this.config.preced(this.config.HTML5.canvas),this.config.HTML5.canvas)return d=this,e=new FileReader(),e.onload=function(){d.DelCreateUpfile(),d.config.HTML5.zipImg(this.result,d.config.HTML5ZIP,c.type,function(a){"function"==typeof d.fun&&d.fun({success:a},!0);});},setTimeout(function(){e.readAsDataURL(c);},500),void 0;this.createframe(),this.FORM.submit();}catch(f){return this.DelCreateUpfile(),this.config.erro("\u4f60\u9009\u62e9\u4e86\u975e\u56fe\u7247\u7c7b\u578b\uff0c\u6216 \u56fe\u7247\u8def\u5f84\u6709\u8bef"),void 0;}},run:function(a){var b=this;this.fun=a,this.upfile.onclick=this.upfileclick=function(){"function"==typeof b.config.fileClick&&b.config.fileClick();},this.upfile.onchange=function(){return""==this.value?!1:(this.onclick=function(){return!1;},b.Upsubmit(this),void 0);};}}; \ No newline at end of file +window.ShearPhoto=function(){this.transform=this.DomMoveEve=this.DomUpEve=this.MoveDivEve=this.zoomEve=this.eveMold=!1,this.DivDownEVe={},this.transformFun(),!this.addevent&&window.addEventListener?(this.addevent="add",this.selectionempty=function(){window.getSelection().removeAllRanges()}):(this.addevent="att",this.selectionempty=function(){document.selection.empty()}),this.MyAjax=new window.ShearPhoto.MyAjax()},window.ShearPhoto.prototype={transformFun:function(){var f,e=document.body.style,d=new Array("MsTransform","MozTransform","WebkitTransform","WebkitTransform","OTransform","transform");for(f=0;fg[0]&&(f=g[0],e=Math.round(g[0]/d)),e>g[0]&&(e=g[0],f=Math.round(g[0]*d),f>g[0]&&(f=g[0],e=Math.round(g[0]/d)))),b.width=f,b.height=e,m.fillStyle="#FFFFFF",m.fillRect(0,0,f,e),m.drawImage(j,0,0,this.width,this.height,0,0,f,e),c=b.toDataURL(l,g?g[1]:0.85),i.URL?(i.BOLBID&&i.URL.revokeObjectURL(i.BOLBID),i.BOLBID=i.URL.createObjectURL(i.FormBlob(c)),"function"==typeof k&&k(i.BOLBID)):"function"==typeof k&&k(c),m.clearRect(0,0,f,e),n.removeChild(b),delete c,delete j},j.src=h,delete h},CtxDrawImage:function(B,A,z,y){var v,u,t,s,r,q,p,o,x=A.R,w=y.arg;this.HTML5MAX?(v=A.IW,u=v,t=A.IH,s=v/t,v>this.HTML5MAX?(v=this.HTML5MAX,t=Math.round(v/s),t>this.HTML5MAX&&(t=this.HTML5MAX,v=Math.round(t*s))):t>this.HTML5MAX&&(t=this.HTML5MAX,v=Math.round(t*s),v>this.HTML5MAX&&(v=this.HTML5MAX,t=Math.round(v/s))),s=v/u,0===x?(r=y.ImgOWidth-A.X,q=y.ImgOHeight-A.Y,p=r*s,o=q*s,z.width=A.IW=v,z.height=A.IH=t,B.fillStyle="#FFFFFF",B.fillRect(0,0,p,o),B.drawImage(w.ImgMain,A.X,A.Y,r,q,0,0,p,o)):this.HandleRotation(y,x,A,z,B,s,v,t)):0===x?(z.width=A.IW,z.height=A.IH,B.fillStyle="#FFFFFF",B.fillRect(0,0,A.IW,A.IH),B.drawImage(w.ImgMain,-A.X,-A.Y)):this.HandleRotation(y,x,A,z,B,1,A.IW,A.IH)},lock:!1,PhotoHTML5True:!1,SetSrc:function(g,f,j,i){f.src=j.src=g;for(var h=0;hj;j++){k[j]=h.charCodeAt(j)}return new Blob([k],{type:this.ImagesType})},IfHTML5:function(f,e,h){try{new Blob(["1"],{type:"text/plain"})}catch(g){e=!1}f&&e&&(this.canvas=!0,this.HTML5MAX=h)},CanvasImg:function(r,q,p){var m,l,k,j,o=document.createElement("canvas"),n=document.body;if(o.style.display="none",n.appendChild(o),m=o.getContext("2d"),this.CtxDrawImage(m,r,o,p),l=this.FormBlob(o.toDataURL(this.ImagesType,p.arg.HTML5Quality)),m.clearRect(0,0,r.IW,r.IH),n.removeChild(o),k=new FormData(),k.append("ShearPhotoHTML5","True"),k.append("IW",r.IW),k.append("IH",r.IH),k.append("FW",r.FW),k.append("FH",r.FH),"[object Object]"===Object.prototype.toString.call(q)){for(j in q){k.append(j,q[j])}}return k.append("UpFile",l),k}},_ieexchange_:function(){function c(a,f){var e=new Array(d[a],d[f]);d[a]=e[1],d[f]=e[0]}var d=this;c("ImgWidth","ImgHeight")},SetRote:{ROReg:new RegExp("rotate\\((.*?)\\)","i"),SLReg:new RegExp("translate\\((.*?)\\)","i"),run:function(t,s,r,q){var p=t.style,o=!0,n=p[s],m=n.replace(this.ROReg,function(){return o=!1,r}),l=o?n+" "+r:m,o=!0,k=l.replace(this.SLReg,function(){return o=!1,q}),l=o?l+" "+q:k;return l},runSL:function(i,h,n){var m=i.style,l=!0,k=m[h],j=k.replace(this.SLReg,function(){return l=!1,n});return l?k+" "+n:j}},_exchange_:function(){var d,f,e=this;return this._ieexchange_(),d=this.rotate,90===d||270===d?(f={90:-1,270:1}[d],this.ImgRotateFun=function(a,j){var i=f*Math.round(0.5*(j-a))+"px",h=this.arg,c="translate("+i+","+i+")";return h.ImgMain.style[e.transform]=e.SetRote.runSL(h.ImgMain,e.transform,c),h.ImgDom.style[e.transform]=e.SetRote.runSL(h.ImgDom,e.transform,c),[j,a]},function(a,j,i){var h=f*Math.round(0.5*(e.ImgWidth-e.ImgHeight)),c="translate("+h+"px,"+h+"px)";return a.style[e.transform]=e.SetRote.run(a,e.transform,i,c),j.style[e.transform]=e.SetRote.run(j,e.transform,i,c),h}):(this.preview.WH=[e.ImgWidth,e.ImgHeight],this.ImgRotateFun=function(g,c){return[g,c]},function(a,h,g){return a.style[e.transform]=e.SetRote.run(a,e.transform,g,"translate(0,0)"),h.style[e.transform]=e.SetRote.run(h,e.transform,g,"translate(0,0)"),0})},preview:{isW:new Array(),isH:new Array(),run:function(Z,Y){var W,V,U,T,S,R,Q,P,O,N,M,H,G,F,D,C,B,A,L,K,J,I,E,X=this;if("[object Array]"===Object.prototype.toString.call(Z.preview)&&(W=Z.preview.length,V=function(){},U=Z.relativeUrl+"images/default.gif",W>0)){for(Z.scope.parentNode.insertAdjacentHTML("afterEnd",''),T="",S=V,R=!1,Z.proportional[0]?R=Z.proportional[0]:S=function(f,e,h,g){f[1][h].style.height=Math.round(e[h]/g[0]*g[1])+"px"},Q=10,P=5,O=Q+2*P,N=0;W>N;N++){this.domWidth+=Z.preview[N]+O,M=R?Math.round(Z.preview[N]/R)+"px;":"auto;",T+=''}this.dom=document.getElementById("preview"),this.dom.innerHTML=T,this.dom.parentNode.style.width=Z.scopeWidth+2+"px",L=[this.dom.getElementsByTagName("img"),this.dom.getElementsByTagName("a")],K=function(d,c){d.src=c},J=function(b,p,o,n){var c,m=Math.round(p[0]*o),l=Math.round(p[1]*o),k=!1;X.isW[n]===m||(b.style.width=m+"px",X.isW[n]=m,k=!0),X.isH[n]===l||(b.style.height=l+"px",X.isH[n]=l,k=!0),k&&Y.rotate>10&&180!==Y.rotate&&(c=(X.isW[n]-X.isH[n])/(270===Y.rotate?-2:2)+"px",b.style[Y.transform]=Y.SetRote.runSL(b,Y.transform,"translate("+c+","+c+")"))},I=function(b,j,i,h){if(Y.transform){var g=i[1]*h+"px";b.style[j]=Y.SetRote.run(b,j,i[0],"translate("+g+","+g+")")}else{b.style[j]=i}},E=L[0],this.domimg=[L[0],W],this.close_=function(){for(var a=0;W>a;a++){A=E[a],A.src=U,"cssText" in A.style?A.style.cssText="":A.setAttribute("style","")}this.dom.style.display="none",Z.Effects&&(Z.Effects.style.display="none"),this.dom.parentNode.style.width=Z.scopeWidth+2+"px"},this.handle=function(x,w,v,u){var t,s,r,q,p,o,h,e,d,a;for(w&&this.open_(u||Z,v),t=x.left,s=x.top,r=x.formAllW,q=x.imgUrl,p=x.TF,o=x.styleR,h=x.R,e=x.formAllH,d=x.HTML3D,H="boolean"==typeof q?V:K,G=p?J:V,F="boolean"==typeof h?V:I,"boolean"==typeof t?t=V:(C=t+Z.Border,B=s+Z.Border,t=function(b){d.setLT(A,C*b+"px",B*b+"px")}),a=0;W>a;a++){A=E[a],D=Z.preview[a]/r,t(D),S(L,Z.preview,a,[r,e]),H(A,q),G(A,this.WH,D,a),F(A,o,h,D)}}}},dom:!1,domWidth:0,domimg:!1,WH:new Array(2),parentNodes:!1,EffTrue:!1,handle:function(e,d,f){d&&this.open_(f)},close_:function(){this.arg.Effects&&(this.arg.Effects.style.display="none"),this.parentNodes&&(this.parentNodes.style.width=this.arg.scopeWidth+2+"px")},open_:function(d){var c=0;this.arg=d,this.EffTrue?(d.Effects.style.display="block",d.Effects.scrollTop=0,d.Effects.style.height=d.scopeHeight+"px",this.parentNodes=d.Effects.parentNode,c=d.Effects.offsetWidth):d.Effects&&(d.Effects.parentNode.removeChild(d.Effects),d.Effects=!1),this.dom?(this.dom.style.display="block",this.dom.parentNode.style.width=d.scopeWidth+this.domWidth+c+10+"px"):d.Effects&&(d.Effects.parentNode.style.width=d.scopeWidth+this.domWidth+c+2+"px")}},Rotate:function(f){var e,h,g;this.transform?("left"===f?this.rotate-=90:this.rotate+=90,this.rotate={"-90":270,0:0,"-270":90,360:0,180:180,90:90,270:270,"-360":0,"-180":180}[this.rotate]||0,e="rotate("+this.rotate+"deg)",h=this._exchange_(),this.setinitial(this.arg,!0),g=h(this.arg.ImgMain,this.arg.ImgDom,e),this.preview.handle({left:this.ImgDomL,top:this.ImgDomT,formAllW:this.formAllW,formAllH:this.formAllH,imgUrl:!1,styleR:this.transform,R:[e,g],HTML3D:this.HTML5})):("left"===f?this.rotate-=1:this.rotate+=1,this.rotate=this.rotate>3?0:this.rotate<0?3:this.rotate,this.ImgRotateFun=1===this.rotate||3===this.rotate?function(d,c){return[c,d]}:function(d,c){return[d,c]},this.arg.ImgMain.style.filter=this.arg.ImgDom.style.filter=e="progid:DXImageTransform.Microsoft.BasicImage(rotation="+this.rotate+")",this._ieexchange_(),this.preview.handle({left:!1,top:!1,formAllW:this.formAllW,formAllH:this.formAllH,imgUrl:!1,styleR:"filter",R:e,HTML3D:this.HTML5}),this.setinitial(this.arg,!0))},pointhandle:function(z,y,x,w,v,u,t){function o(a,j,i,h){if(a+=h,a>j&&h>0){return p.setT(s,j+"px"),z?setTimeout(function(){o(j,q,i,-1)},z):"function"==typeof t&&t(),void 0}if(j>a&&0>h){try{r.arg.scope.removeChild(s)}catch(g){}}else{p.setT(s,a+"px"),setTimeout(function(){o(a,j,i,h)},i)}}var r,q,p,n,s=this.arg.scope.children[0];if("point"===s.className&&this.arg.scope.removeChild(s),-1!==z){switch(s=document.createElement("div"),s.className="point",this.arg.scope.insertBefore(s,this.arg.scope.childNodes[0]),r=this,q=-35,p=this.HTML5,s.style.color=u,s.style.backgroundColor=v,s.innerHTML=""+x,n=s.getElementsByTagName("i")[0],w){case 0:n.style.backgroundPosition="-16px 0";break;case 1:n.style.backgroundPosition="0 0";break;case 2:n.style.backgroundPosition="-31px 0"}o(q,0,y,1)}},setinitial:function(x,w){var r,q,p,o,n,m,v=0,u=0,t=!x.traverse,s=this.HTML5;this.BoxW>this.ImgWidth?(this.relatW=this.ImgWidth,x.relat.style.width=this.ImgWidth+"px",n=Math.round(0.5*(this.BoxW-this.ImgWidth)),r=(this.relatL=n)+"px",q=-n+"px"):(x.relat.style.width=this.BoxW+"px",this.relatW=this.BoxW,r=q=this.relatL=0,t&&(v=(this.BoxW-this.ImgWidth)/2)),this.BoxH>this.ImgHeight?(this.relatH=this.ImgHeight,x.relat.style.height=this.ImgHeight+"px",m=Math.round(0.5*(this.BoxH-this.ImgHeight)),this.relatT=m,p=m+"px",o=-m+"px"):(this.relatH=this.BoxH,x.relat.style.height=this.BoxH+"px",p=o=this.relatT=0,t&&(u=(this.BoxH-this.ImgHeight)/2)),s.setLT(x.relat,r,p),s.setLT(x.black,q,o),this.AmendOffset(),this.MovePhoto(w,v,u,t)},MovePhoto:function(J,I,H,G){var C,B,A,z,y,x,v,u,t,s,F=this.arg,E=F.ImgDom,D=F.ImgMain,w=this.HTML5;F.traverse&&this.BoxWthis.relatW&&(l=p-this.relatW,l>this.formLeft?(this.formW=this.formW-(l-this.formLeft),this.formLeft=0,n="0px",this.saveL=this.relatL,this.formAllW=this.formW+this.Mdouble):(this.formLeft-=l,n=this.formLeft+"px",this.saveL=this.formLeft+this.relatL)),o>this.relatH&&(k=o-this.relatH,k>this.formTop?(this.formH=this.formH-(k-this.formTop),this.formTop=0,m="0px",this.saveT=this.relatT,this.formAllH=this.formH+this.Mdouble):(this.formTop=this.formTop-k,m=this.formTop+"px",this.saveT=this.formTop+this.relatT)),n&&m?r.setLT(this.formParent,n,m):n?r.setL(this.formParent,n):m&&r.setT(this.formParent,m),this.arg.proportional[0]&&(j=Math.round(this.formAllW/this.arg.proportional[0]),j>this.formAllH?(this.formAllW=Math.round(this.formAllH*this.arg.proportional[0]),this.formW=this.formAllW-this.Mdouble):(this.formAllH=j,this.formH=j-this.Mdouble)),this.arg.form.style.width=this.formW+"px",this.arg.form.style.height=this.formH+"px",this.ie6(this.formParent,this.formAllW,this.formAllH)},MaxMinLimit:function(e){e.ImgWidth=e.ImgOWidth=this.width,e.ImgHeight=e.ImgOHeight=this.height,"number"==typeof e.arg.Max&&(e.ImgWidth>e.arg.Max&&(e.ImgWidth=e.arg.Max,e.ImgHeight=Math.round(e.ImgWidth/e.ImgScales)),e.ImgHeight>e.arg.Max&&(e.ImgHeight=e.arg.Max,e.ImgWidth=Math.round(e.ImgHeight*e.ImgScales)));var d,f;e.arg.proportional[0]?(d=e.Min,f=Math.round(d*e.arg.proportional[0]),f0||!(this.height=Math.round(this.height))>0?(l.pointhandle(3000,10,"\u8bf7\u9009\u62e9\u6b63\u786e\u56fe\u7247",0,"#f82373","#fff"),void 0):(k.ImgMain.src=k.ImgDom.src=j,k.black.style.zIndex=99,l.ImgScales=this.width/this.height,l.Min=k.Min,l.MaxMinLimit.call(this,l),k.ImgMain.style.width=k.ImgDom.style.width=l.artworkW+"px",k.ImgMain.style.height=k.ImgDom.style.height=l.artworkH+"px",l.BoxW=k.scope.offsetWidth-2,l.BoxH=k.scope.offsetHeight-2,l.Border=k.Border,l.Mdouble=2*k.Border,k.proportional[0]?(a=k.proportional[1]-l.Mdouble,d=k.proportional[1]/k.proportional[0]-l.Mdouble):(a=k.proportional[1]-l.Mdouble,d=k.proportional[2]-l.Mdouble),l.formW=a=Math.round(a),l.formH=d=Math.round(d),l.formAllW=a+l.Mdouble,l.formAllH=d+l.Mdouble,l.preview.WH=[l.artworkW,l.artworkH],l.formParent=k.form.offsetParent,l.et(),l.setinitial(k),l.preview.handle({left:!1,top:!1,formAllW:l.formAllW,formAllH:l.formAllH,TF:!0,imgUrl:j,styleR:!1,R:!1,HTML3D:l.HTML5},!0,k),c=l.MoveDiv=new window.ShearPhoto.MoveDiv(),c.reckon(k.relat,!1),c.selectionempty=l.selectionempty,c.addevent=l.addevent,c.HTML5=l.HTML5,c.run({to:new Array(k.form),form:l.formParent,MoveWidth:l.relatW,MoveHeight:l.relatH,shifting:new Array(),center:1,centerFront:function(){return[l.relatW,l.relatH]},DivDownFun:function(b){b.arg.MoveWidth=l.relatW,b.arg.MoveHeight=l.relatH,b.DivW=l.formW+l.Mdouble,b.DivH=l.formH+l.Mdouble},centerfun:function(f,e,m){l.formLeft=f,l.formTop=e,l.MovePhoto(!1,0,0),m.arg.MoveWidth=l.relatW,m.arg.MoveHeight=l.relatH,m.DivW=l.formW+l.Mdouble,m.DivH=l.formH+l.Mdouble},zIndex:100,MoveFun:function(f,e){l.formLeft=f,l.formTop=e,l.MovePhoto(!0,0,0)}}),l.MoveDivEve=function(){c.delDownEve()},k.Shearbar.style.display="block",k.SelectBox.style.visibility="hidden",l.zoom(),l.pointhandle(2000,10,"\u53ef\u4ee5\u62d6\u52a8\u6216\u62c9\u4f38\u84dd\u8fb9\u6846\u8fdb\u884c\u622a\u56fe",1,"#fbeb61","#3a414c"),delete j,delete h,void 0)},i.onerror=function(){l.pointhandle(0,10,"\u65e0\u6cd5\u8bfb\u53d6\u56fe\u7247\u3002\u56fe\u7247\u7c7b\u578b\u6216\u8def\u5f84\u4e0d\u6b63\u786e \u6216 relativeUrl\u53c2\u6570\u662f\u5426\u5b58\u5728\u95ee\u9898",0,"#f82373","#fff")},this.pointhandle(0,1,"\u56fe\u7247\u5df2\u52a0\u8f7d\uff0c\u6b63\u5728\u521b\u5efa\u622a\u56fe\u73af\u5883\uff0c\u8bf7\u7a0d\u7b49........",2,"#fbeb61","#3a414c",function(){i.src=j})},config:function(j){var i,p,o,m,n,l,k;if(this.arg=j,j.Shearbar.style.display="none",j.scope.style.width=j.black.style.width=j.SelectBox.style.width=j.scopeWidth+"px",j.scope.style.height=j.black.style.height=j.SelectBox.style.height=j.scopeHeight+"px",i=j.scope.parentNode,i.style.width=i.parentNode.style.width=j.scopeWidth+2+"px",this.HTML5.IfHTML5(this.transform,j.HTML5,j.HTML5MAX),this.HTML5.HTML5LT(j.translate3d&&this.transform),p=this.transform?function(d,c){d.style.opacity=c}:function(d,c){d.style.filter="alpha(opacity="+100*c+")"},j.Border>0){j.DynamicBorder[0].style.display=j.DynamicBorder[1].style.display=j.DynamicBorder[2].style.display=j.DynamicBorder[3].style.display="none",j.DynamicBorder[0].style.background=j.DynamicBorder[1].style.background=j.DynamicBorder[2].style.background=j.DynamicBorder[3].style.background="#FFF";for(o in j.to){j.to[o].style.border="1px solid "+j.BorderColor,j.to[o].style.background=j.BorderColor,p(j.to[o],1)}j.form.style.border=j.Border+"px "+j.BorderStyle+" "+j.BorderColor}if(j.black.style.background=j.backgroundColor,p(j.black,j.backgroundOpacity),this.preview.run(j,this),j.scope.ondragstart=function(){return !1},this.ie6=navigator.userAgent.indexOf("MSIE 6.0")>0&&0===j.Border?function(a,f,e){a.style.height=j.DynamicBorder[1].style.height=j.DynamicBorder[2].style.height=e+"px",a.style.width=f+"px"}:function(){},this.preview.EffTrue=j.HTML5Effects&&this.HTML5.canvas&&j.Effects){for(n=j.Effects.getElementsByTagName("a"),l=this.HTML5.Effects,this.HTML5.artwork=this.HTML5.Aclick=n[0],k=0;ka?Math.round(j*a+10)/100:Math.round(a*k-100)/100,g=Math.round(r.artworkW*h),e=Math.round(r.artworkH*h),n>g&&(g=n,e=Math.round(g/r.ImgScales)),o>e&&(e=o,g=Math.round(e*r.ImgScales)),d=r.ImgRotateFun(g,e),r.ImgWidth=d[0],r.ImgHeight=d[1],r.arg.ImgMain.style.width=r.arg.ImgDom.style.width=g+"px",r.arg.ImgMain.style.height=r.arg.ImgDom.style.height=e+"px",r.preview.WH=[g,e],r.setinitial(r.arg,!0)}}),r.zoomEve=function(){q.delDownEve()},m=q.ReckonWH.W-q.DivW,l=0.5*m,k=200/l,j=90/l},PointerShape:function(b){this.arg.scope.style.cursor=this.arg.form.style.cursor=b},DelPointerShape:function(){this.arg.scope.style.cursor="",this.arg.form.style.cursor="move"},ShearPhotoDown:function(d,c){this.addEvent(d,"mousedown",c),this.addEvent(d,"touchstart",c)},delShearPhotoDown:function(d,c){this.delEvent(d,"mousedown",c),this.delEvent(d,"touchstart",c)},et:function(){for(var b in this.arg.to){"add"===this.addevent?("function"!=typeof this.DivDownEVe[b]?this.DivDownEVe[b]=this.DivDown(b):this.delShearPhotoDown(this.arg.to[b],this.DivDownEVe[b]),this.ShearPhotoDown(this.arg.to[b],this.DivDownEVe[b])):this.arg.to[b].onmousedown=this.DivDown(b)}},addEvent:function(f,e,h){var g={add:function(){f.addEventListener(e,h,!1)},att:function(){f.attachEvent("on"+e,h)}};g[this.addevent]&&g[this.addevent]()},delEvent:function(f,e,h){var g={add:function(){f.removeEventListener(e,h,!1)},att:function(){f.detachEvent("on"+e,h)}};g[this.addevent]&&g[this.addevent]()},DomUp:function(d){var c=this;return function(){return"function"==typeof c.arg.UpFun&&c.arg.UpFun(),d.releaseCapture&&d.releaseCapture(),c.DelPointerShape(),"function"==typeof c.DomMoveEve&&c.delEvent(document,c.eveMold[1],c.DomMoveEve),"function"==typeof c.DomUpEve&&(c.delEvent(document,c.eveMold[2],c.DomUpEve),c.delEvent(window,c.eveMold[2],c.DomUpEve),c.delEvent(window,"blur",c.DomUpEve),c.delEvent(d,"losecapture",c.DomUpEve)),!1}},setWHfalse:function(h,g,l,k,j,i){return g>j&&(g=j),l>i&&(l=i),gh&&(f=h),fi&&(l=i),lh?(f=h,g=Math.round(f*j),this.CycleCalculation.apply(this,arguments)):g>i?(g=i,f=Math.round(g/j),this.CycleCalculation.apply(this,arguments)):f1?(H.DomUp(this)(),!1):(w=H.eveMold[3](a,"clientX"),v=H.eveMold[3](a,"clientY"),r=H.arg.form,setTimeout(function(){t=D*(w-F),s=C*(v-E),H.selectionempty(),u=H.drawfun(r,t,s,H.arg.proportional[0],A,z),t=u[0],s=u[1],H.amend(t,s,B,y,x),H.formAllW=t,H.formAllH=s,t=H.formW=t-H.Mdouble,s=H.formH=s-H.Mdouble,r.style.width=t+"px",r.style.height=s+"px",H.ie6(B,t,s),H.MovePhoto(!0,0,0)},1),!1)}},defaultShear:function(){this.arg.Shearbar.style.display="none","function"==typeof this.MoveDivEve&&this.MoveDivEve(),"function"==typeof this.zoomEve&&this.zoomEve(),"cssText" in this.arg.ImgMain.style?this.arg.ImgMain.style.cssText=this.arg.ImgDom.style.cssText="":(this.arg.ImgMain.setAttribute("style",""),this.arg.ImgDom.setAttribute("style","")),this.arg=this.ImgUrl=this.formW=this.formH=this.formAllW=this.formAllH=this.drawfun=this.formParent=this.ImgWidth=this.ImgHeight=this.artworkW=this.artworkH=this.BoxW=this.BoxH=this.Border=this.Mdouble=this.ImgScales=this.Min=this.formLeft=this.formTop=this.relatL=this.relatT=this.relatW=this.relatH=this.saveL=this.ImgOWidth=this.ImgOHeight=this.saveT=this.HTML5.lock=this.HTML5.PhotoHTML5True=!1,this.rotate=this.ImgMainT=this.ImgDomT=this.ImgMainL=this.ImgDomL=0,this.preview.isW=[],this.preview.isH=[],this.ImgRotateFun=function(d,c){return[d,c]}},SendUserMsg:function(i,h,n,m,l,k,j){this.arg.black.style.zIndex=k?199:99,this.pointhandle(h,10,i,n,m,l),this.arg.Shearbar.style.display=j?"none":"block"},again:function(){this.arg.SelectBox.style.visibility="visible",this.arg.Shearbar.style.display="none",this.arg.ImgDom.src=this.arg.ImgMain.src=this.arg.relativeUrl+"images/default.gif"},CoordinateData:function(t){var q,p,o,n,m,l,k,s=function(e,d,f){return 1>e&&(e=1,d=Math.round(1/f)),1>d&&(d=1,e=Math.round(f)),[e,d]},r={};return t||(r.url="../"+this.ImgUrl),q={1:270,2:180,3:90,90:270,180:180,270:90}[this.rotate]||(q=this.rotate),p=this.ImgWidth,o=this.ImgHeight,n={0:p,90:o,180:p,270:o},m=this.ImgOWidth/n[q],r.R=q,r.X=Math.round((Math.abs(this.ImgDomL)-this.Border)*m),r.Y=Math.round((Math.abs(this.ImgDomT)-this.Border)*m),r.P=this.arg.proportional[0],l=this.formAllW/this.formAllH,k=s(Math.round(this.formAllW*m),Math.round(this.formAllH*m),l),r.IW=k[0],r.IH=k[1],k=s(this.formAllW,this.formAllH,l),r.FW=k[0],r.FH=k[1],r},SendPHP:function(j){var p,n,i,o,l,k;if(this.SendUserMsg("\u6b63\u5728\u4e3a\u4f60\u5904\u7406\u622a\u56fe\uff0c\u7a0d\u7b49...",0,2,"#fbeb61","#3a414c",!0,!0),i=this,o=this.HTML5,(o.HTML5PHP||o.PhotoHTML5True)&&o.canvas){try{o.BOLBID&&o.URL.revokeObjectURL(o.BOLBID),p=this.CoordinateData(!0),n=o.CanvasImg(p,j,this)}catch(m){return i.SendUserMsg("\u9519\u8bef\uff1a\u5207\u5272\u56fe\u7247\u65f6\u4e25\u91cd\u62a5\u9519,\u8bf7\u66f4\u6362\u6d4f\u89c8\u5668\u8bd5\u8bd5\uff0c\u6216\u8005\u6362\u5f20\u56fe\u7247",5000,0,"#f4102b","#fff",!1),void 0}}else{if(l="","[object Object]"===Object.prototype.toString.call(j)){for(k in j){l+="&"+k+"="+j[k]}}p=this.CoordinateData(),n="JSdate="+window.ShearPhoto.JsonString.JsonToString(p)+l}this.MyAjax.carry({url:i.arg.url,data:n,type:"POST",timeout:10000,async:!0,lock:!0,complete:!1,success:function(b){return b=window.ShearPhoto.JsonString.StringToJson(b),b===!1?(i.SendUserMsg("\u9519\u8bef\uff1a\u8bf7\u4fdd\u8bc1\u540e\u7aef\u73af\u5883\u8fd0\u884c\u6b63\u5e38",5000,0,"#f4102b","#fff",!1),void 0):b.erro?(i.SendUserMsg("\u9519\u8bef\uff1a"+b.erro,5000,0,"#f4102b","#fff",!1),void 0):("function"==typeof i.complete&&i.complete(b),delete i.HTML5.Images,void 0)},error:function(){i.SendUserMsg("\u9519\u8bef\uff1a\u8fde\u63a5\u540e\u7aef\u5931\u8d25\uff0c\u53ef\u80fd\u539f\u56e0\uff0c\u8d85\u65f6\uff01\u6216\u8005\u540e\u7aef\u73af\u5883\u65e0\u6cd5\u8fd0\u884c",5000,0,"#f4102b","#fff",!1)},cache:!1})},DivDown:function(z){var t,s,r,q,p,o,n,y=this,x=1,w=1,v="NO",u="NO";return function(e){var b,a,d,c,k,j,i,h,g,f;if(e=e||window.event,d=e.button,c=typeof d,e.preventDefault&&e.preventDefault(),"number"!==c?(y.eveMold=["touchstart","touchmove","touchend",function(m,l){return m.touches[0][l]}],b=e.touches[0].clientX,a=e.touches[0].clientY):(y.eveMold=["mousedown","mousemove","mouseup",function(m,l){return m[l]}],b=e.clientX,a=e.clientY),2>d||"number"!==c){switch(r=y.formAllW,q=y.formAllH,o=y.formParent,p=y.formLeft,n=y.formTop,z){case"BottomRight":t=y.relatW-p,s=y.relatH-n,y.drawfun=y.arg.proportional[0]?y.setHtrue:y.setWHfalse,y.PointerShape("nw-resize");break;case"TopRight":w=-1,u="TT",t=y.relatW-p,s=n+y.formAllH,y.drawfun=y.arg.proportional[0]?y.setHtrue:y.setWHfalse,y.PointerShape("ne-resize");break;case"Bottomleft":x=-1,v="LL",t=p+y.formAllW,s=y.relatH-n,y.drawfun=y.arg.proportional[0]?y.setHtrue:y.setWHfalse,y.PointerShape("ne-resize");break;case"Topleft":w=x=-1,v="LL",u="TT",t=p+y.formAllW,s=n+y.formAllH,y.drawfun=y.arg.proportional[0]?y.setHtrue:y.setWHfalse,y.PointerShape("nw-resize");break;case"Topmiddle":v="ML",k=p,j=y.relatW-k-y.formAllW,t=2*Math.min(k,j)+y.formAllW,u="TT",s=n+y.formAllH,w=-1,y.drawfun=y.arg.proportional[0]?y.setHtrue:y.setHfalse,y.PointerShape("n-resize");break;case"leftmiddle":w=x=-1,t=p+y.formAllW,i=n,h=y.relatH-i-y.formAllH,s=2*Math.min(i,h)+y.formAllH,u="MT",v="LL",y.drawfun=y.arg.proportional[0]?y.setWtrue:y.setWfalse,y.PointerShape("e-resize");break;case"Rightmiddle":t=y.relatW-p,i=n,h=y.relatH-i-y.formAllH,s=2*Math.min(i,h)+y.formAllH,u="MT",y.drawfun=y.arg.proportional[0]?y.setWtrue:y.setWfalse,y.PointerShape("e-resize");break;case"Bottommiddle":k=p,j=y.relatW-k-y.formAllW,t=2*Math.min(k,j)+y.formAllW,s=y.relatH-n,y.drawfun=y.arg.proportional[0]?y.setHtrue:y.setHfalse,v="ML",y.PointerShape("n-resize")}g=b-x*r,f=a-w*q,this.setCapture&&this.setCapture(),"function"==typeof y.DomMoveEve&&y.delEvent(document,y.eveMold[1],y.DomMoveEve),y.DomMoveEve=y.DomMove(y,this,g,f,x,w,o,t,s,v,u),y.addEvent(document,y.eveMold[1],y.DomMoveEve)}else{y.DomUp(this)()}return !1}}},window.ShearPhoto.MINGGE=function(d){function c(){try{document.documentElement.doScroll("left")}catch(a){return setTimeout(c,13),void 0}d()}"function"==typeof d&&(document.addEventListener?document.addEventListener("DOMContentLoaded",d,!1):window.attachEvent?c():alert("MINGGE ERRO"))},window.ShearPhoto.MoveDiv=function(){this.arg=new Array(),this.ReckonWH=this.DivW=this.DivH=this.selectionempty=this.addevent=this.DivDownEVe=this.DomMoveEve=this.DomUpEve=this.eveMold=!1},window.ShearPhoto.MoveDiv.prototype={ZeroSetting:function(){var k,j=this.HTML5.getLT(this.arg.form),i=parseFloat(j[0]),p=parseFloat(j[1]),o=this._size_(window,!0),n=function(){},m=function(){},l=!1;isNaN(i)||(l=!0,this.HTML5.setL(this.arg.form,0),n=function(b,d){0>b&&(b=0),this_.HTML5.setL(d,i-b+"px")}),isNaN(p)||(l=!0,this.HTML5.setT(this.arg.form,0),m=function(d,c){0>d&&(d=0),this_.HTML5.setT(c,p-d+"px")}),l===!0&&(k=this._size_(window,!0),n(o.W-k.W,this.arg.form),m(o.H-k.H,this.arg.form))},reckon:function(f,e){var h,g;this._size_(f),h=this,e===!0&&(g=function(){h.ZeroSetting(),h._size_(f),h.arg.MoveWidth=h.ReckonWH.W,h.arg.MoveHeight=h.ReckonWH.H,h.SetCenter(h.arg)},this.addEvent(window,"resize",g))},_size_:function(h,g){var l,k,j,i;return h===window?(i={add:document.documentElement,att:document.body}[this.addevent],l=i.clientWidth,k=i.clientHeight,j={W:Math.max(i.scrollWidth,l),H:Math.max(i.scrollHeight,k),CW:l,CH:k}):(l=h.offsetWidth,k=h.offsetHeight,j={W:l,H:k,CW:l,CH:k}),g===!0?j:(this.ReckonWH=j,void 0)},DomUp:function(d){var c=this;return function(){return d.releaseCapture&&d.releaseCapture(),"function"==typeof c.DomMoveEve&&c.delEvent(document,c.eveMold[1],c.DomMoveEve),"function"==typeof c.DomUpEve&&(c.delEvent(document,c.eveMold[2],c.DomUpEve),c.delEvent(window,c.eveMold[2],c.DomUpEve),c.delEvent(window,"blur",c.DomUpEve),c.delEvent(d,"losecapture",c.DomUpEve)),!1}},DivWHFun:function(){this.DivW=this.arg.form.offsetWidth,this.DivH=this.arg.form.offsetHeight},DomMove:function(J,I,H,G){var C,v,u,f,e,x,w,F=J.arg.form,E=J.DivW,D=J.DivH,B=function(){},A=J.arg.shifting="[object Array]"===Object.prototype.toString.call(J.arg.shifting)&&J.arg.shifting.length>1?J.arg.shifting:new Array(0,0),z=J.arg.MoveWidth-A[0],y=J.arg.MoveHeight-A[1];return"function"==typeof J.DomUpEve&&(J.delEvent(document,J.eveMold[2],J.DomUpEve),J.delEvent(window,J.eveMold[2],J.DomUpEve),J.delEvent(window,"blur",J.DomUpEve),J.delEvent(I,"losecapture",J.DomUpEve)),J.DomUpEve=J.DomUp(I),J.addEvent(document,J.eveMold[2],J.DomUpEve),J.addEvent(window,J.eveMold[2],J.DomUpEve),J.addEvent(window,"blur",J.DomUpEve),J.addEvent(I,"losecapture",J.DomUpEve),x=z-E,w=y-D,"function"==typeof J.arg.MoveFun&&(B=J.arg.MoveFun),C=[x,w],function(a){return a=a||window.event,a.button>1?(J.DomUp(this)(),!1):(f=J.eveMold[3](a,"clientX"),e=J.eveMold[3](a,"clientY"),setTimeout(function(){v=f-H,u=e-G,J.selectionempty(),v=v<-A[0]?-A[0]:v,v=v>x?x:v,u=u<-A[1]?-A[1]:u,u=u>w?w:u,J.HTML5.setLT(F,v+"px",u+"px"),B(v,u,C)},1),!1)}},DivDown:function(){var b=this;return function(t){var q,p,s,r,o,n,m,l,a;return t=t||window.event,s=t.button,r=typeof s,t.preventDefault&&t.preventDefault(),"number"!==r?(b.eveMold=["touchstart","touchmove","touchend",function(d,c){return d.touches[0][c]}],q=t.touches[0].clientX,p=t.touches[0].clientY):(b.eveMold=["mousedown","mousemove","mouseup",function(d,c){return d[c]}],q=t.clientX,p=t.clientY),2>s||"number"!==r?(o=b.HTML5.getLT(b.arg.form),n=parseFloat(o[0]),m=parseFloat(o[1]),l=q-n,a=p-m,this.setCapture&&this.setCapture(),"function"==typeof b.arg.DivDownFun&&b.arg.DivDownFun(b),"function"==typeof b.DomMoveEve&&b.delEvent(document,b.eveMold[1],b.DomMoveEve),b.DomMoveEve=b.DomMove(b,this,l,a,n,m),b.addEvent(document,b.eveMold[1],b.DomMoveEve)):b.DomUp(this)(),!1}},ShearPhotoDown:function(d,c){this.addEvent(d,"mousedown",c),this.addEvent(d,"touchstart",c)},delShearPhotoDown:function(d,c){this.delEvent(d,"mousedown",c),this.delEvent(d,"touchstart",c)},et:function(){var f,e=this,d=this.arg.cursor||"move";for(e=this,f=0;fk?0:k,j=Math.round((h-this.DivW)/2),j=0>j?0:j,this.HTML5.setLT(i,j+"px",k+"px"),"function"==typeof m.centerfun&&m.centerfun(j,k,this)},addEvent:function(f,e,h){var g={add:function(){f.addEventListener(e,h,!1)},att:function(){f.attachEvent("on"+e,h)}};g[this.addevent]&&g[this.addevent]()},delEvent:function(f,e,h){var g={add:function(){f.removeEventListener(e,h,!1)},att:function(){f.detachEvent("on"+e,h)}};g[this.addevent]&&g[this.addevent]()},SetCenter:function(f){var e,h,g;f.center&&(1===f.center?(e=this.ReckonWH.CW,h=this.ReckonWH.CH):(g=this._size_(f.center,!0),e=g.CW,h=g.CH),this.setdiv(f.form,e,h,f))},run:function(b){this.arg=b,this.DivW=b.form.offsetWidth,this.DivH=b.form.offsetHeight,this.SetCenter(b),"number"==typeof b.zIndex&&(b.form.style.zIndex=b.zIndex),this.et()}},window.ShearPhoto.JsonString={_json_:null,JsonToString:function(e){try{this._json_=new Array(),this._read_(e,!0);var d=this._json_.join("");return d=d.replace(/,([\}\]])/g,function(g,c){return c}),this._json_=null,d}catch(f){return alert("\u53d1\u751f\u9519\u8bef\uff0c\u9519\u8bef\u4ee3\u7801--"+f),""}},StringToJson:function(f){var e,h;if("string"!=typeof f){return alert("\u8bf7\u4f20\u5165JSON\u5b57\u4e32\u7b26,\u770b\u6e05\u695ademo.html\u662f\u600e\u4e48\u64cd\u4f5c\u7684"),void 0}try{return e=new Function("return ("+f+")")(),h=this._type_(e),"[object Object]"!==h&&"[object Array]"!==h?(alert("\u4e25\u91cd\u62a5\u9519\uff1a\u540e\u7aef\u6ca1\u8fd4\u56de\u5230JSON\uff0c\u800c\u662f\u4e00\u4e32\u65e0\u6548\u5b57\u7b26\u4e32\u3002\n\n\u4f60\u662f\u5728\u8c03\u8bd5\u5417\uff1f\n\n\u90a3\u4e48\u6309\u786e\u5b9a\uff0c\u67e5\u770b\u90a3\u4e32\u65e0\u6548\u5b57\u7b26\u4e32\u5427"),alert(f),!1):e}catch(g){return alert("\u4e25\u91cd\u62a5\u9519\uff1a\u540e\u7aef\u6ca1\u8fd4\u56de\u5230JSON\uff0c\u800c\u662f\u4e00\u4e32\u65e0\u6548\u5b57\u7b26\u4e32\u3002\n\n\u4f60\u662f\u5728\u8c03\u8bd5\u5417\uff1f\n\n\u90a3\u4e48\u6309\u786e\u5b9a\uff0c\u67e5\u770b\u90a3\u4e32\u65e0\u6548\u5b57\u7b26\u4e32\u5427"),alert(f),!1}},_type_:function(d){if("number"==typeof d.nodeType){return"[object document]"}var c=Object.prototype.toString.call(d);return c},_addjson_:function(f,d,h){var g={"[object Object]":d,"[object Array]":h};this._json_.push(g[f])},_addstring_:function(e){var f,d=typeof e;return"string"===d?'"'+e+'"':"number"===d?e:(f=this._type_(e),"[object Object]"===f||"[object Array]"===f?!1:'""')},_read_:function(g,f){var i,h,j=this._type_(g);if(f&&"[object Object]"!==j&&"[object Array]"!==j){return alert("\u4f60\u4f20\u5165\u4e0d\u662f\u6570\u7ec4\u6216JSON,\u770b\u6e05\u695ademo.html\u662f\u600e\u4e48\u64cd\u4f5c\u7684"),this._json_=null,!1}this._addjson_(j,"{","[",f);for(i in g){"undefined"==typeof g.constructor.prototype[i]&&(h=this._addstring_(g[i]),"boolean"!=typeof h?this._addjson_(j,'"'+i+'":'+h+",",h+","):(this._addjson_(j,'"'+i+'":',""),this._read_(g[i],!1)))}f=f?"":",",this._addjson_(j,"}"+f,"]"+f)}},window.ShearPhoto.MyAjax=function(){this.serverdata=this.erromsg=this.timeout=this.stop=this.xmlhttp=!1,this.transit=!0},window.ShearPhoto.MyAjax.prototype.handle=function(e,d){if(4==e.readyState){if(this.stop===!0){return}if(this.transit=!0,d.timeout&&d.async&&(clearTimeout(this.timeout),this.timeout=!1),200==e.status){var f=this.serverdata=e.responseText.replace(/(^\s*)|(\s*$)/g,"");"function"==typeof d.success&&d.success(f)}else{this.erromsg=e.status,"function"==typeof d.error&&d.error(e.status)}}else{if(0==e.readyState){if(this.stop===!0){return}d.timeout&&d.async&&(clearTimeout(this.timeout),this.timeout=!1),this.erromsg=e.readyState,this.transit=!0,"function"==typeof d.error&&d.error(e.readyState)}}},window.ShearPhoto.MyAjax.prototype.out=function(b){this.transit=!0,this.erromsg=504,this.stop=!0,"function"==typeof b.error&&b.error(504)},window.ShearPhoto.MyAjax.prototype.carry=function(h){var g,l,k,j;if(h.lock&&!this.transit){return !1}this.transit=!1,this.stop=this.erromsg=!1,g=window.XMLHttpRequest?new XMLHttpRequest():new ActiveXObject("Microsoft.XMLHTTP"),h.type=h.type.toUpperCase(),l=function(){},"string"==typeof h.data?(h.data=h.data.replace(/(^\s*)|(\s*$)/g,""),l=function(){g.setRequestHeader("Content-Type","application/x-www-form-urlencoded")}):"[object FormData]"!==Object.prototype.toString.call(h.data)?(h.data="",l=function(){g.setRequestHeader("Content-Type","application/x-www-form-urlencoded")}):("function"==typeof h.progress&&g.upload.addEventListener("progress",h.progress,!1),h.type="POST"),k=""==h.data?[null,""]:[h.data,"?"+h.data],j=this,"function"==typeof h.complete&&h.complete(),h.timeout&&h.async&&(this.timeout=setTimeout(function(){j.out(h)},h.timeout)),h.async===!0&&(g.onreadystatechange=function(){j.handle(g,h)});try{switch(h.type){case"POST":g.open("POST",h.url,h.async),l();break;default:g.open("GET",h.url+k[1],h.async),h.cache===!0||g.setRequestHeader("If-Modified-Since","0")}}catch(i){return this.erromsg=505,h.timeout&&h.async&&(clearTimeout(this.timeout),this.timeout=!1),this.transit=!0,"function"==typeof h.error&&h.error(505),void 0}g.send(k[0]),h.async===!1&&j.handle(g,h)},window.ShearPhoto.frameUpImg=function(d){this.BodyDom=document.body,this.FORM=d.FORM,this.upfile=this.FORM.UpFile,this.config=d,this.upfileclick=!1,"function"!=typeof d.erro&&(d.erro=function(){}),this.FORM.action=d.url;var c=this;this.parentNodes=this.upfile.parentNode,window.attachEvent&&(this.parentNodes.onmousemove=function(){var b=window.event.offsetX+5;0>b&&(b=0),b>224&&(b=224),c.upfile.style.width=b+"px"})},window.ShearPhoto.frameUpImg.prototype={createframe:function(){this.BodyDom.insertAdjacentHTML("afterBegin",''),this.iframe=document.getElementsByName("POSTiframe")[0],this.createEve(this.iframe,window.frames.POSTiframe)},createEve:function(e,d){var f=this;this.upfile.files?e.onload=function(){var b,a;e.onload=null,b=d.document.getElementsByTagName("BODY")[0],a=b.innerHTML,f.Evebubbling(a)}:e.onreadystatechange=function(){var b,a;"complete"===e.readyState&&(e.onreadystatechange=null,b=d.document.getElementsByTagName("BODY")[0],a=b.innerHTML,f.Evebubbling(a))}},delframe:function(){this.BodyDom.removeChild(this.iframe),this.DelCreateUpfile()},Evebubbling:function(b){""!=b&&(this.upfile.onclick=this.upfileclick,"function"==typeof this.fun&&this.fun(b),this.delframe())},inArray:function(f,e){if(e.indexOf){return e.indexOf(f)}for(var h=0,g=e.length;g>h;h++){if(e[h]===f){return h}}return -1},DelCreateUpfile:function(){var c,d=this.upfile.onchange;this.upfile.onchange=this.upfile.onclick=null,this.parentNodes.removeChild(this.upfile),c=document.createElement("input"),c.setAttribute("type","file"),c.setAttribute("name","UpFile"),this.parentNodes.appendChild(c),this.upfile=c,this.upfile.onchange=d,this.upfile.onclick=this.upfileclick},Upsubmit:function(g){var f,j,i;try{if(f=g.value.split("."),f="[object Array]"===Object.prototype.toString.call(f)?f[f.length-1]:"",-1==this.inArray(f.toLowerCase(),this.config.UpType)){return this.DelCreateUpfile(),this.config.erro("\u8bf7\u9009\u62e9\u6b63\u786e\u56fe\u7247\u7c7b\u578b"),void 0}if(j=g.files){if(j=j[0],j.type&&(this.config.HTML5.ImagesType=j.type),j.size<=0){return this.DelCreateUpfile(),this.config.erro("\u9519\u8bef\uff1a\u4e0d\u80fd\u9009\u62e9\u7a7a\u5b57\u8282\u6587\u4ef6"),void 0}if(this.config.HTML5.canvas){if(j.size>1024*1024*this.config.HTML5FilesSize){return this.DelCreateUpfile(),this.config.erro("\u9519\u8bef\uff1aHTML5\u4e0a\u4f20\u4e0d\u80fd\u5927\u4e8e"+this.config.HTML5FilesSize+"M"),void 0}}else{if(j.size>1024*1024*this.config.FilesSize){return this.DelCreateUpfile(),this.config.erro("\u9519\u8bef\uff1a\u6587\u4ef6\u4e0d\u80fd\u5927\u4e8e"+this.config.FilesSize+"M"),void 0}}}i=this,"function"==typeof this.config.preced&&this.config.preced(function(){if(i.config.HTML5.canvas){var b=new FileReader();return b.onload=function(){i.DelCreateUpfile(),i.config.HTML5.zipImg(this.result,i.config.HTML5ZIP,j.type,function(a){"function"==typeof i.fun&&i.fun({success:a},!0),delete b})},b.readAsDataURL(j),void 0}i.createframe(),i.FORM.submit()})}catch(h){return this.DelCreateUpfile(),this.config.erro("\u4f60\u9009\u62e9\u4e86\u975e\u56fe\u7247\u7c7b\u578b\uff0c\u6216 \u56fe\u7247\u8def\u5f84\u6709\u8bef"),void 0}},run:function(d){var c=this;this.fun=d,this.upfile.onclick=this.upfileclick=function(){"function"==typeof c.config.fileClick&&c.config.fileClick()},this.upfile.onchange=function(){return""==this.value?!1:(this.onclick=function(){return !1},c.Upsubmit(this),void 0)}}}; diff --git a/shearphoto_common/js/MIN/MIN_alloyimage.js b/shearphoto_common/js/MIN/MIN_alloyimage.js new file mode 100644 index 0000000..6d0d8de --- /dev/null +++ b/shearphoto_common/js/MIN/MIN_alloyimage.js @@ -0,0 +1,13 @@ +try{Array.prototype.del=function(a){a.sort();for(var b=this.concat([]),c=a.length-1;c>=0;c--)b=b.slice(0,a[c]).concat(b.slice(a[c]+1));return b;},HTMLImageElement.prototype.loadOnce=function(a){var b=0;this.onload=function(){b||a.call(this,null),b++;};},function(a){var b={lib:[],init:function(){this.require("config");},module:function(a,b){this.lib[a]=b.call(null,this);},require:function(a){var b=this,c=document.createElement("script");document.body.appendChild(c),c.src="./js/module/"+a+".js",c.onload=c.onerror=function(a){b.handlerror(a);};},handlerror:function(){},destroySelf:function(b){throw delete ShearPhoto[a],Error(b);},reflect:function(a,b,c){return a=this.lib.config.getModuleName(a),this.lib[a].process(b,c);},reflectEasy:function(a){return a=this.lib.config.getEasyFun(a),this.lib.easy.getFun(a);},add:function(a,b,c,d,e,f,g,h){return this.lib.addLayer.add(a,b,c,d,e,f,g,h);},applyMatrix:function(){}};ShearPhoto[a]=function(b,c,d){if(!(this instanceof ShearPhoto[a]))return new ShearPhoto[a](b,c,d);this.startTime=+new Date();var g,h,e=document.createElement("canvas"),f=e.getContext("2d");isNaN(b)?(e.width=parseInt(b.width),e.height=parseInt(b.height),c=getComputedStyle(b),g=parseInt(c.getPropertyValue("width")),h=parseInt(c.getPropertyValue("height")),isNaN(g)?f.drawImage(b,0,0):f.drawImage(b,0,0,g,h)):(e.width=b,e.height=c,f.fillStyle=d||"#fff",f.fillRect(0,0,b,c)),this.canvas=e,this.context=f,this.imgData=f.getImageData(0,0,e.width,e.height),this.name=a+"_"+Math.random(),this.canvas.id=this.name,this.layers=[],b=document.createElement("canvas"),b.width=e.width,b.height=e.height;},ShearPhoto[a].module=function(a,c){b.module(a,c);},ShearPhoto[a].dorsyMath=function(){return b.lib.dorsyMath;},ShearPhoto[a].prototype={act:function(a){var c=[],c=Array.prototype.slice.call(arguments,1);return b.reflect(a,this.imgData,c),this;},view:function(a,b,c,d,e){var f=this.clone();return f.type=1,this.addLayer(f,"\u6b63\u5e38",0,0),f.act(a,b,c,d,e),this;},excute:function(){var a=this.layers,b=a.length;a[b-1]&&1==a[b-1][0].type&&(this.imgData=a[b-1][0].imgData,delete a[b-1]);},cancel:function(){var a=this.layers,b=a.length;a[b-1]&&1==a[b-1][0].type&&delete a[b-1];},show:function(b,c){var d,e,f,g,h=new ShearPhoto[a](this.canvas.width,this.canvas.height);for(h.add(this,"\u6b63\u5e38",0,0,c),this.tempPsLib=h,d=0;de;e++)c[d[e]]?c[d[e]]++:c[d[e]]=1;for(b.beginPath(),b.moveTo(0,a.height),e=d=0;255>e;e++)c[e]>d&&(d=c[e]);for(e=0;255>e;e++)f=c[e]||0,f=a.height-.8*(f/d)*a.height,b.lineTo(e/256*a.width,f,1,1);b.lineTo(a.width+10,a.height),b.fill();},ps:function(a){var c;return c=b.reflectEasy(a).call(this),this.logTime("\u7ec4\u5408\u6548\u679c"+a),c;},logTime:function(a){console.log(a+": "+(+new Date()-this.startTime)/1e3+"s");},ctx:function(a){var b=this.ctxContext;return b.putImageData(this.imgData,0,0),a.call(b),this.imgData=b.getImageData(0,0,this.canvas.width,this.canvas.height),this;}};}("psLib"),function(a){ShearPhoto[a].module("ImageEnhance",function(){return{process:function(a){for(var b=a.data,c=0,d=b.length;d>c;c+=4);return a.data=b,a;}};});}("psLib"),function(a){ShearPhoto[a].module("addLayer",function(){return{add:function(a,b,c,d,e,f,g,h){var i,j,k,l,m,n,o,p;for(g=a.data,i=b.data,e=e||0,f=f||0,d=d||1,h=h||"RGB",/[RGB]+/.test(h)||(h="RGB"),k=h.replace("R","0").replace("G","1").replace("B","2"),h=a.width,l=i.length,b=b.width,k=[-1o;o+=4)if(m=o/4,n=parseInt(m/h),m%=h,n-=f,m-=e,n=n*b+m,n*=4,n>=0&&l-4>n&&b>m&&m>=0)for(m=0;3>m&&0!=i[n+3];m++)switch(g[o+3]=i[n+3],c){case"\u989c\u8272\u51cf\u6de1":k[m]&&(j=g[o+m]+g[o+m]*i[n+m]/(255-i[n+m]),g[o+m]=(1-d)*g[o+m]+d*j);break;case"\u53d8\u6697":k[m]&&(j=g[o+m]i[n+m]?g[o+m]:i[n+m],g[o+m]=(1-d)*g[o+m]+d*j);break;case"\u6b63\u7247\u53e0\u5e95":k[m]&&(j=parseInt(g[o+m]*i[n+m]/255),g[o+m]=(1-d)*g[o+m]+d*j);break;case"\u6ee4\u8272":k[m]&&(j=parseInt(255-(255-g[o+m])*(255-i[n+m])/255),g[o+m]=(1-d)*g[o+m]+d*j);break;case"\u53e0\u52a0":k[m]&&(j=127.5>=g[o+m]?g[o+m]*i[n+m]/127.5:255-(255-g[o+m])*(255-i[n+m])/127.5,g[o+m]=(1-d)*g[o+m]+d*j);break;case"\u5f3a\u5149":k[m]&&(j=127.5>=i[n+m]?g[o+m]*i[n+m]/127.5:g[o+m]+(255-g[o+m])*(i[n+m]-127.5)/127.5,g[o+m]=(1-d)*g[o+m]+d*j);break;case"\u5dee\u503c":k[m]&&(j=g[o+m]>i[n+m]?g[o+m]-i[n+m]:i[n+m]-g[o+m],g[o+m]=(1-d)*g[o+m]+d*j);break;case"\u6392\u9664":k[m]&&(j=g[o+m]+i[n+m]-g[o+m]*i[n+m]/127.5,g[o+m]=(1-d)*g[o+m]+d*j);break;case"\u70b9\u5149":k[m]&&(j=g[o+m]<2*i[n+m]-255?2*i[n+m]-255:g[o+m]<2*i[n+m]?g[o+m]:2*i[n+m],g[o+m]=(1-d)*g[o+m]+d*j);break;case"\u989c\u8272\u52a0\u6df1":k[m]&&(j=255-255*(255-g[o+m])/i[n+m],g[o+m]=(1-d)*g[o+m]+d*j);break;case"\u7ebf\u6027\u52a0\u6df1":k[m]&&(j=g[o+m]+i[n+m],j=j>255?j-255:0,g[o+m]=(1-d)*g[o+m]+d*j);break;case"\u7ebf\u6027\u51cf\u6de1":k[m]&&(j=g[o+m]+i[n+m],j=j>255?255:j,g[o+m]=(1-d)*g[o+m]+d*j);break;case"\u67d4\u5149":k[m]&&(j=127.5>i[n+m]?((2*i[n+m]-255)*(255-g[o+m])/65025+1)*g[o+m]:(2*i[n+m]-255)*(Math.sqrt(g[o+m]/255)-g[o+m]/255)+g[o+m],g[o+m]=(1-d)*g[o+m]+d*j);break;case"\u4eae\u5149":k[m]&&(j=127.5>i[n+m]?255*(1-(255-g[o+m])/(2*i[n+m])):g[o+m]/(2*(1-i[n+m]/255)),g[o+m]=(1-d)*g[o+m]+d*j);break;case"\u7ebf\u6027\u5149":k[m]&&(j=g[o+m]+2*i[n+m]-255,j=j>255?255:j,g[o+m]=(1-d)*g[o+m]+d*j);break;case"\u5b9e\u8272\u6df7\u5408":k[m]&&(j=i[n+m]<255-g[o+m]?0:255,g[o+m]=(1-d)*g[o+m]+d*j);break;default:k[m]&&(j=i[n+m],g[o+m]=(1-d)*g[o+m]+d*j);} +return a;}};});}("psLib"),function(a){ShearPhoto[a].module("brightness",function(){return{process:function(a,b){var c,d,e,f,g,h;for(c=a.data,d=b[0]/50,e=Math.tan((45+44*((b[1]||0)/50))*Math.PI/180),f=0,g=c.length;g>f;f+=4)for(h=0;3>h;h++)c[f+h]=(c[f+h]-127.5*(1-d))*e+127.5*(1+d);return a;}};});}("psLib"),function(a){ShearPhoto[a].module("applyMatrix",function(a){return{process:function(b){var c,d,e,f,g,h,i,j,k,l,m,n,o,p;for(c=b.data,d=b.width,e=new a.lib.dorsyMath.Matrix([-2,-4,-4,-4,-2,-4,0,8,0,-4,-4,8,24,8,-4,-4,0,8,0,-4,-2,-4,-4,-4,-2],25,1),f=[],g=0,h=c.length;h>g;g+=4)if(i=g/4,j=parseInt(i/d),k=i%d,0!=j&&0!=k){for(l=[[],[],[]],m=-2;3>m;m++)for(n=j+m,o=-2;3>o;o++)for(p=4*(n*d+(k+o)),i=0;3>i;i++)l[i].push(c[p+i]);for(j=new a.lib.dorsyMath.Matrix(l,3,matrixSize).mutiply(e),i=0;3>i;i++)f[g+i]=j.data[i];f[g+4]=c[g+4];} +for(g=0,h=c.length;h>g;g++)c[g]=f[g]||c[g];return b;}};});}("psLib"),function(a){ShearPhoto[a].module("config",function(){var a={"\u7070\u5ea6\u5904\u7406":"toGray","\u53cd\u8272":"toReverse","\u7070\u5ea6\u9608\u503c":"toThresh","\u9ad8\u65af\u6a21\u7cca":"gaussBlur","\u4eae\u5ea6":"brightness","\u6d6e\u96d5\u6548\u679c":"embossment","\u67e5\u627e\u8fb9\u7f18":"borderline","\u8272\u76f8/\u9971\u548c\u5ea6\u8c03\u8282":"setHSI","\u9a6c\u8d5b\u514b":"mosaic","\u6cb9\u753b":"oilPainting","\u8150\u8680":"corrode","\u9510\u5316":"sharp","\u6dfb\u52a0\u6742\u8272":"noise","\u66f2\u7ebf":"curve","\u6697\u89d2":"darkCorner","\u55b7\u70b9":"dotted"},b={"\u7f8e\u80a4":"softenFace","\u7d20\u63cf":"sketch","\u81ea\u7136\u589e\u5f3a":"softEnhancement","\u7d2b\u8c03":"purpleStyle","\u67d4\u7126":"soften","\u590d\u53e4":"vintage","\u9ed1\u767d":"gray","\u4efflomo":"lomo","\u4eae\u767d\u589e\u5f3a":"strongEnhancement","\u7070\u767d":"strongGray","\u7070\u8272":"lightGray","\u6696\u79cb":"warmAutumn","\u6728\u96d5":"carveStyle","\u7c97\u7cd9":"rough"};return{getModuleName:function(b){return a[b]||b;},getEasyFun:function(a){return b[a]||a;}};});}("psLib"),function(a){ShearPhoto[a].module("corrode",function(){return{process:function(a,b){var c,d,e,f,g,h,i,j,k;for(c=parseInt(b[0])||3,d=a.data,e=a.width,f=a.height,g=0;e>g;g++)for(h=0;f>h;h++)for(i=parseInt(2*Math.random()*c)-c,j=parseInt(2*Math.random()*c)-c,k=h*e+g,i=(h+i)*e+g+j,j=0;3>j;j++)d[4*k+j]=d[4*i+j];return a;}};});}("psLib"),function(a){ShearPhoto[a].module("curve",function(a){return{process:function(b,c){var d,e,f,g,h,i,j,k;for(d=a.lib.dorsyMath.lagrange(c[0],c[1]),e=b.data,f=b.width,g=b.height,h=0;f>h;h++)for(i=0;g>i;i++)for(j=i*f+h,k=0;3>k;k++)e[4*j+k]=d(e[4*j+k]);return b;}};});}("psLib"),function(a){ShearPhoto[a].module("darkCorner",function(a){return{process:function(b,c){var d,e,f,g,h,i,j,k,l,m,n,o,p,q;for(d=parseInt(c[0])||3,e=c[1]||30,f=b.data,g=b.width,h=b.height,i=2*g/3,j=1*h/2,k=a.lib.dorsyMath.distance([i,j]),d=k*(1-d/10),l=0;g>l;l++)for(m=0;h>m;m++)for(n=m*g+l,o=0;3>o;o++)p=f[4*n+o],q=(a.lib.dorsyMath.distance([l,m],[i,j])-d)/(k-d),0>q&&(q=0),p=(0*Math.pow(1-q,3)+.06*q*Math.pow(1-q,2)+3*.3*q*q*(1-q)+1*Math.pow(q,3))*p*e/255,f[4*n+o]-=p;return b;}};});}("psLib"),function(a){ShearPhoto[a].module("dorsyMath",function(a){var b={FFT1:function(a){function c(){var g,h,i,j,k,l,m,n,o,p,q;for(e++,g=d/Math.pow(2,e),h=d/g,i=0;g>i;i++)for(j=i*h,k=(i+1)*h-1,l=e,m=Math.pow(2,l-1),n=0;k-m>=j;j++)o=j+m,p=n*d/Math.pow(2,l),q=p+d/4,a[j]instanceof b.C||(a[j]=new b.C(a[j])),a[o]instanceof b.C||(a[o]=new b.C(a[o])),p=a[j].plus(a[o].mutiply(f[p])),q=a[j].plus(a[o].mutiply(f[q])),a[j]=p,a[o]=q,n++;g>1&&c();} +for(var d=a.length,e=0,f=[],g=0;d>g;g++)f[g]=this.exp(-2*Math.PI*g/d);return c(),a;},DFT:function(){},Matrix:function(a,b,c){var d,e,f=[];if(b){if(isNaN(b)?(d=/(\d+)\*/.exec(b)[1],b=/\*(\d+)/.exec(b)[1]):(d=b,b=c),a[0]&&a[0][0])for(c=0;d>c;c++)for(f[c]=[],e=0;b>e;e++)f[c][e]=a[c][e]||0;else for(c=0;d>c;c++)for(f[c]=[],e=0;b>e;e++)f[c][e]=a[c*b+e]||0;this.m=d,this.n=b;}else this.m=a.length,this.n=a[0].length;this.data=f;},C:function(a,b){this.r=a||0,this.i=b||0;},exp:function(a,c){a=a||0,c=c||1;var d=new b.C();return d.r=c*Math.cos(a),d.i=c*Math.sin(a),d;},lagrange:function(a,b){var c=a.length;return function(d){var e,f,g,h,i;for(e=0,f=0;c>f;f++){for(g=1,h=1,i=0;c>i;i++)i!=f&&(g*=a[f]-a[i],h*=d-a[i]);e+=b[f]*(h/g);} +return e;};},applyMatrix:function(c,d,e){var f,g,h,i,j,k,l,m,n,o,p,q,r,s,t;for(e=e||0,f=c.data,g=c.width,h=d.length,d=new b.Matrix(d,h,1),i=[],j=-(Math.sqrt(h)-1)/2,k=0,l=f.length;l>k;k+=4)if(m=k/4,n=parseInt(m/g),o=m%g,0!=n&&0!=o){for(p=[[],[],[]],q=j;-j>=q;q++)for(r=n+q,s=j;-j>=s;s++)for(t=4*(r*g+(o+s)),m=0;3>m;m++)p[m].push(f[t+m]);for(n=new a.lib.dorsyMath.Matrix(p,3,h).mutiply(d),m=0;3>m;m++)i[k+m]=n.data[m];i[k+4]=f[k+4];} +for(k=0,l=f.length;l>k;k++)i[k]&&(f[k]=i[k]b?2*Math.PI-d:d,e=1-3*Math.min(a,b,c)/(a+b+c);return d>2*Math.PI&&(d=2*Math.PI),0>d&&(d=0),{H:d,S:e,I:(a+b+c)/3};},HSIToRGB:function(a,b,c){if(0>a?(a%=2*Math.PI,a+=2*Math.PI):a%=2*Math.PI,a<=2*Math.PI/3)var d=c*(1-b),e=c*(1+b*Math.cos(a)/Math.cos(Math.PI/3-a)),f=3*c-(e+d);else a<=4*Math.PI/3?(a-=2*Math.PI/3,e=c*(1-b),f=c*(1+b*Math.cos(a)/Math.cos(Math.PI/3-a)),d=3*c-(f+e)):(a-=4*Math.PI/3,f=c*(1-b),d=c*(1+b*Math.cos(a)/Math.cos(Math.PI/3-a)),e=3*c-(f+d));return{R:e,G:f,B:d};},applyInHSI:function(a,b){var c,d,e,f;for(c=a.data,d=0,e=c.length;e>d;d+=4)f=this.RGBToHSI(c[d],c[d+1],c[d+2]),b(f),1f.S&&(f.S=0),f=this.HSIToRGB(f.H,f.S,f.I),c[d]=f.R,c[d+1]=f.G,c[d+2]=f.B;},applyInCoordinate:function(){},distance:function(a,c){return c=c||[0,0],a=new b.C(a[0],a[1]),c=new b.C(c[0],c[1]),a.minus(c).distance();},xyToIFun:function(a){return function(b,c,d){return 4*(c*a+b)+(d||0);};},xyCal:function(a,b,c,d,e){var f,g,h;for(f=this.xyToIFun(a.width),g=0;3>g;g++)h=f(b,c,g),a[h]=d(a[h]);e&&(a[h+1]=e(a[h+1]));}};return b.Matrix.prototype={plus:function(a){var c,d,e;if(this.m!=a.m||this.n!=a.n)throw Error("\u77e9\u9635\u52a0\u6cd5\u884c\u5217\u4e0d\u5339\u914d");for(c=new b.Matrix([],this.m,this.n),d=0;de;e++)for(l=-d;d>l;l++)e*e+l*l>k&&j.push([e,l]);for(d=a.lib.dorsyMath.xyToIFun(g),e=0,g=parseInt(g/i);g>e;e++)for(l=0,k=parseInt(h/i);k>l;l++)for(m=parseInt((e+.5)*i),n=parseInt((l+.5)*i),o=0;oe;e+=4)if(g=e/4,h=parseInt(g/c),i=g%c,g=4*((h-1)*c+(i-1)),j=4*(h+1)*c+4*(i+1),0!=h&&0!=i){for(h=0;3>h;h++)d[e+h]=b[g+h]-b[j+h]+127.5;d[e+4]=b[e+4];} +for(e=0,f=b.length;f>e;e++)b[e]=d[e]||b[e];return a;}};});}("psLib"),function(a){ShearPhoto[a].module("gaussBlur",function(){return{process:function(a,b,c){var d,e,f,g,h,i,j=a.data,k=a.width,l=a.height,m=[],n=0;for(b=Math.floor(b)||3,c=c||b/3,d=1/(Math.sqrt(2*Math.PI)*c),g=-1/(2*c*c),h=0,c=-b;b>=c;c++,h++)f=d*Math.exp(g*c*c),m[h]=f,n+=f;for(h=0,c=m.length;c>h;h++)m[h]/=n;for(d=0;l>d;d++)for(c=0;k>c;c++){for(n=e=f=g=0,i=-b;b>=i;i++)h=c+i,h>=0&&k>h&&(h=4*(d*k+h),e+=j[h]*m[i+b],f+=j[h+1]*m[i+b],g+=j[h+2]*m[i+b],n+=m[i+b]);h=4*(d*k+c),j[h]=e/n,j[h+1]=f/n,j[h+2]=g/n;} +for(c=0;k>c;c++)for(d=0;l>d;d++){for(n=e=f=g=0,i=-b;b>=i;i++)h=d+i,h>=0&&l>h&&(h=4*(h*k+c),e+=j[h]*m[i+b],f+=j[h+1]*m[i+b],g+=j[h+2]*m[i+b],n+=m[i+b]);h=4*(d*k+c),j[h]=e/n,j[h+1]=f/n,j[h+2]=g/n;} +return a.data=j,a;}};});}("psLib"),function(a){ShearPhoto[a].module("borderline",function(a){return{process:function(b){return a.lib.dorsyMath.applyMatrix(b,[0,1,0,1,-4,1,0,1,0],250);}};});}("psLib"),function(a){ShearPhoto[a].module("mosaic",function(){return{process:function(a,b){var c,d,e,f,g,h,i,j,k,l,m,n,o;for(c=parseInt(b[0])||3,d=a.data,e=a.width,f=a.height,c=2*c+1,g=0,h=parseInt(e/c);h>g;g++)for(i=0,j=parseInt(f/c);j>i;i++){for(k=[],l=[0,0,0],m=0;c>m;m++)for(n=0;c>n;n++)o=(i*c+m)*e+g*c+n,l[0]+=d[4*o],l[1]+=d[4*o+1],l[2]+=d[4*o+2];for(k[0]=l[0]/(c*c),k[1]=l[1]/(c*c),k[2]=l[2]/(c*c),m=0;c>m;m++)for(n=0;c>n;n++)o=(i*c+m)*e+g*c+n,d[4*o]=k[0],d[4*o+1]=k[1],d[4*o+2]=k[2];} +return a;}};});}("psLib"),function(a){ShearPhoto[a].module("noise",function(){return{process:function(a,b){var c,d,e,f,g,h,i,j,k;for(c=parseInt(b[0])||100,d=a.data,e=a.width,f=a.height,g=0;e>g;g++)for(h=0;f>h;h++)for(i=h*e+g,j=0;3>j;j++)k=parseInt(2*Math.random()*c)-c,d[4*i+j]+=k;return a;}};});}("psLib"),function(a){ShearPhoto[a].module("oilPainting",function(){return{process:function(a,b){var c,d,e,f,g,h,i,j,k;for(c=parseInt(b[0])||16,d=a.data,e=a.width,f=a.height,g=0;e>g;g++)for(h=0;f>h;h++){for(i=h*e+g,j=0,k=0;3>k;k++)j+=d[4*i+k];for(j/=3,j=parseInt(j/c)*c,k=0;3>k;k++)d[4*i+k]=j;} +return a;}};});}("psLib"),function(a){ShearPhoto[a].module("setHSI",function(a){return{process:function(b,c){return c[0]=c[0]/180*Math.PI,c[1]=c[1]/100||0,c[2]=255*(c[2]/100)||0,c[3]=c[3]||!1,a.lib.dorsyMath.applyInHSI(b,function(a){c[3]?(a.H=c[0],a.S=c[1]):(a.H+=c[0],a.S+=c[1]),a.I+=c[2];}),b;}};});}("psLib"),function(a){ShearPhoto[a].module("sharp",function(){return{process:function(a,b){var c,d,e,f,g,h,i,j,k;for(c=b[0]||.6,d=a.data,e=a.width,f=0,g=d.length;g>f;f+=4)if(h=f/4,i=parseInt(h/e),j=h%e,0!=i&&0!=j)for(k=4*((i-1)*e+(j-1)),i=4*((i-1)*e+j),h=4*(h-1),j=0;3>j;j++)d[f+j]+=(d[f+j]-(d[i+j]+d[h+j]+d[k+j])/3)*c;return a;}};});}("psLib"),function(a){ShearPhoto[a].module("toGray",function(){return{process:function(a){var b,c,d,e;for(b=a.data,c=0,d=b.length;d>c;c+=4)e=parseInt((b[c]+b[c+1]+b[c+2])/3),b[c+2]=b[c+1]=b[c]=e;return a.data=b,a;}};});}("psLib"),function(a){ShearPhoto[a].module("toReverse",function(){return{process:function(a){for(var b=a.data,c=0,d=b.length;d>c;c+=4)b[c]=255-b[c],b[c+1]=255-b[c+1],b[c+2]=255-b[c+2];return a.data=b,a;}};});}("psLib"),function(a){ShearPhoto[a].module("toThresh",function(a){return{process:function(b,c){var d,e,f;for(b=a.lib.toGray.process(b),d=b.data,c=c[0]||128,e=0,f=d.length;f>e;e++)(e+1)%4&&(d[e]=d[e]>c?255:0);return b.data=d,b;}};});}("psLib");}catch(e){} \ No newline at end of file diff --git a/shearphoto_common/js/MIN/MIN_webcam_ShearPhoto.js b/shearphoto_common/js/MIN/MIN_webcam_ShearPhoto.js index 699c1c0..f6f12ce 100644 --- a/shearphoto_common/js/MIN/MIN_webcam_ShearPhoto.js +++ b/shearphoto_common/js/MIN/MIN_webcam_ShearPhoto.js @@ -1 +1 @@ -window.webcam={version:"shearphoto2.0",ie:!!navigator.userAgent.match(/MSIE/),protocol:location.protocol.match(/https/i)?"https":"http",callback:null,swf_url:"images/webcam.swf",shutter_url:"images/shutter.mp3",api_url:"",loaded:!1,quality:90,shutter_sound:!0,stealth:!0,hooks:{onLoad:null,onAllow:null,onComplete:null,onError:null},set_hook:function(a,b){return"undefined"==typeof this.hooks[a]?alert("Hook type not supported: "+a):(this.hooks[a]=b,void 0);},fire_hook:function(a,b){return this.hooks[a]?("function"==typeof this.hooks[a]?this.hooks[a](b):"array"==typeof this.hooks[a]?this.hooks[a][0][this.hooks[a][1]](b):window[this.hooks[a]]&&window[this.hooks[a]](b),!0):!1;},set_api_url:function(a){this.api_url=a;},set_swf_url:function(a){this.swf_url=a;},configure:function(){this.get_movie()._configure("camera");},get_html:function(){var a="",b=this.init_config.server_width,c=this.init_config.server_height,d="shutter_enabled="+(this.shutter_sound?1:0)+"&shutter_url="+escape(this.shutter_url)+"&width="+this.init_config.width+"&height="+this.init_config.height+"&server_width="+b+"&server_height="+c+"&uploadfield="+this.init_config.uploadfield;return a+=this.ie?'':'',this.loaded=!1,a;},get_movie:function(){if(!this.loaded)return this.noCamcall();var a=document.getElementById("webcam_movie");return a||alert("ERROR: Cannot locate movie 'webcam_movie' in DOM"),a;},set_stealth:function(a){this.stealth=a;},Homing:function(a){clearInterval(this.timer),this.timer=null,a.style.display="none";},timingfun:function(a,b,c,d){var e,f,g;return this.CamTrue?(c.innerHTML="\u53d6\u6d88",e=3,f=this,g=arguments,c.onclick=function(){f.Homing(a),c.innerHTML="\u62cd\u7167",c.onclick=function(){f.timingfun.apply(f,g);};},a.style.display="block",a.innerHTML=e,this.timer=setInterval(function(){return e--,0===e?(f.Homing(a),d.call(f),c.innerHTML="\u5904\u7406\u4e2d...",c.onclick=null,void 0):(a.innerHTML=e,void 0);},800),void 0):(alert("\u8bf7\u95ee\uff1a\u4f60\u6562\u5141\u8bb8\u6444\u50cf\u5934\u542f\u52a8\u5417"),!1);},newsnap:function(a,b,c){this.CamTrue=!1;var d=this;c.innerHTML="\u62cd\u7167",c.onclick=function(){d.timingfun(a,b,c,d.snap);};},snap:function(a,b,c){b&&this.set_hook("onComplete",b),a&&this.set_api_url(a),"undefined"!=typeof c&&this.set_stealth(c);var d=this.get_movie();this.init_config.postargs&&d.SetPostParams(this.init_config.postargs),d._snap(this.api_url,this.quality,this.shutter_sound?1:0,this.stealth?1:0);},freeze:function(){this.get_movie()._snap("",this.quality,this.shutter_sound?1:0,0);},upload:function(a,b){b&&this.set_hook("onComplete",b),a&&this.set_api_url(a),this.get_movie()._upload(this.api_url);},reset:function(){this.get_movie()._reset();},configure:function(a){a||(a="camera"),this.get_movie()._configure(a);},set_quality:function(a){this.quality=a;},set_shutter_sound:function(a,b){this.shutter_sound=a,this.shutter_url=b?b:"images/shutter.mp3";},flash_notify:function(a,b){switch(a){case"security":if("Camera.Muted"===b)return this.noCamcall("\u4f60\u5df2\u62d2\u7edd\u4e86\u6444\u50cf\u5934\u542f\u52a8\uff01"),void 0;this.CamTrue="Camera.Unmuted"===b,this.fire_hook("onAllow",this.CamTrue);break;case"flashLoadComplete":this.loaded=!0,this.fire_hook("onLoad");break;case"error":this.fire_hook("onError",b)||this.noCamcall("\u6ca1\u68c0\u6d4b\u5230\u6444\u50cf\u5934\u542f\u52a8\uff0c\u62cd\u7167\u5931\u8d25,\u68c0\u67e5\u662f\u5426\u5176\u4ed6\u7a0b\u5e8f\u5360\u7528\u4e86\u6444\u8c61\u5934");break;case"success":this.fire_hook("onComplete",b.toString());break;default:alert("flash_notify: "+a+": "+b);}}}; \ No newline at end of file +window.webcam={version:"shearphoto2.1",ie:!!navigator.userAgent.match(/MSIE/),protocol:location.protocol.match(/https/i)?"https":"http",callback:null,swf_url:"images/webcam.swf",shutter_url:"images/shutter.mp3",api_url:"",loaded:!1,quality:90,shutter_sound:!0,stealth:!0,hooks:{onLoad:null,onAllow:null,onComplete:null,onError:null},set_hook:function(a,b){return"undefined"==typeof this.hooks[a]?alert("Hook type not supported: "+a):(this.hooks[a]=b,void 0);},fire_hook:function(a,b){return this.hooks[a]?("function"==typeof this.hooks[a]?this.hooks[a](b):"array"==typeof this.hooks[a]?this.hooks[a][0][this.hooks[a][1]](b):window[this.hooks[a]]&&window[this.hooks[a]](b),!0):!1;},set_api_url:function(a){this.api_url=a;},set_swf_url:function(a){this.swf_url=a;},configure:function(){this.get_movie()._configure("camera");},get_html:function(){var a="",b=this.init_config.server_width,c=this.init_config.server_height,d="shutter_enabled="+(this.shutter_sound?1:0)+"&shutter_url="+escape(this.shutter_url)+"&width="+this.init_config.width+"&height="+this.init_config.height+"&server_width="+b+"&server_height="+c+"&uploadfield="+this.init_config.uploadfield;return a+=this.ie?'':'',this.loaded=!1,a;},get_movie:function(){if(!this.loaded)return this.noCamcall();var a=document.getElementById("webcam_movie");return a||alert("ERROR: Cannot locate movie 'webcam_movie' in DOM"),a;},set_stealth:function(a){this.stealth=a;},Homing:function(a){clearInterval(this.timer),this.timer=null,a.style.display="none";},timingfun:function(a,b,c,d){var e,f,g;return this.CamTrue?(c.innerHTML="\u53d6\u6d88",e=3,f=this,g=arguments,c.onclick=function(){f.Homing(a),c.innerHTML="\u62cd\u7167",c.onclick=function(){f.timingfun.apply(f,g);};},a.style.display="block",a.innerHTML=e,this.timer=setInterval(function(){return e--,0===e?(f.Homing(a),d.call(f),c.innerHTML="\u5904\u7406\u4e2d...",c.onclick=null,void 0):(a.innerHTML=e,void 0);},800),void 0):(alert("\u8bf7\u95ee\uff1a\u4f60\u6562\u5141\u8bb8\u6444\u50cf\u5934\u542f\u52a8\u5417"),!1);},newsnap:function(a,b,c){this.CamTrue=!1;var d=this;c.innerHTML="\u62cd\u7167",c.onclick=function(){d.timingfun(a,b,c,d.snap);};},snap:function(a,b,c){b&&this.set_hook("onComplete",b),a&&this.set_api_url(a),"undefined"!=typeof c&&this.set_stealth(c);var d=this.get_movie();this.init_config.postargs&&d.SetPostParams(this.init_config.postargs),d._snap(this.api_url,this.quality,this.shutter_sound?1:0,this.stealth?1:0);},freeze:function(){this.get_movie()._snap("",this.quality,this.shutter_sound?1:0,0);},upload:function(a,b){b&&this.set_hook("onComplete",b),a&&this.set_api_url(a),this.get_movie()._upload(this.api_url);},reset:function(){this.get_movie()._reset();},configure:function(a){a||(a="camera"),this.get_movie()._configure(a);},set_quality:function(a){this.quality=a;},set_shutter_sound:function(a,b){this.shutter_sound=a,this.shutter_url=b?b:"images/shutter.mp3";},flash_notify:function(a,b){switch(a){case"security":if("Camera.Muted"===b)return this.noCamcall("\u4f60\u5df2\u62d2\u7edd\u4e86\u6444\u50cf\u5934\u542f\u52a8\uff01"),void 0;this.CamTrue="Camera.Unmuted"===b,this.fire_hook("onAllow",this.CamTrue);break;case"flashLoadComplete":this.loaded=!0,this.fire_hook("onLoad");break;case"error":this.fire_hook("onError",b)||this.noCamcall("\u6ca1\u68c0\u6d4b\u5230\u6444\u50cf\u5934\u542f\u52a8\uff0c\u62cd\u7167\u5931\u8d25,\u68c0\u67e5\u662f\u5426\u5176\u4ed6\u7a0b\u5e8f\u5360\u7528\u4e86\u6444\u8c61\u5934");break;case"success":this.fire_hook("onComplete",b.toString());break;default:alert("flash_notify: "+a+": "+b);}}}; \ No newline at end of file diff --git a/shearphoto_common/js/ShearPhoto.js b/shearphoto_common/js/ShearPhoto.js index 466cece..eea6698 100644 --- a/shearphoto_common/js/ShearPhoto.js +++ b/shearphoto_common/js/ShearPhoto.js @@ -1,4 +1,4 @@ -/*************ShearPhoto2.0 鍏嶈垂锛屽紑婧愶紝鍏煎鐩墠鎵鏈夋祻瑙堝櫒锛岀函鍘熺敓JS鍜孭HP缂栧啓********* +/*************ShearPhoto2.1 鍏嶈垂锛屽紑婧愶紝鍏煎鐩墠鎵鏈夋祻瑙堝櫒锛岀函鍘熺敓JS鍜孭HP缂栧啓********* 浠巗hearphoto 1.5鐩存帴璺宠穬鍒皊hearphoto 2.0锛岃繖鏄痵hearphoto閲嶅ぇ闈╂柊銆傛湰鏉ユ垜鏄兂shearphoto 1.6 銆1.7銆 1.8 鎱㈡參鍗囩殑锛屼絾鏄繖鏍峰崌绾у彧浼氳shearphoto鎱㈡參璧板悜鐏骸锛 缁撴灉鎴戝張杈涜嫤浜嗕竴涓鏄熸湡锛屾妸shearphoto 2.0鍗囩骇瀹屾垚锛 shearphoto2.0涔嬪墠锛屾垜璁や负娌″繀瑕佸姞鍏TML5锛屽吋瀹笽E6 7 8灏卞銆備絾鏄洿鍒板悗鏉ワ紒鎴戠煡閬撹繖鏄垜涓涓敊璇殑鍐冲畾 @@ -46,11 +46,11 @@ shearphoto閲囩敤鍘熺敓JS闈㈠悜瀵硅薄 + 鍘熺敓PHP闈㈠悜瀵硅薄寮鍙戯紝缁濆涓 2015 骞 9鏈 5 鏃 shearphoto浣滆咃細鏄庡摜鍏堢敓 - 鐗堟湰鍙:shearphoto2.0 + 鐗堟湰鍙:shearphoto2.1 shearphoto瀹樼綉锛歸ww.shearphoto.com shearphoto瀹樻柟QQ缇わ細461550716 -****************ShearPhoto2.0 鍏嶈垂锛屽紑婧愶紝鍏煎鐩墠鎵鏈夋祻瑙堝櫒锛岀函鍘熺敓JS鍜孭HP缂栧啓*******/ +****************ShearPhoto2.1 鍏嶈垂锛屽紑婧愶紝鍏煎鐩墠鎵鏈夋祻瑙堝櫒锛岀函鍘熺敓JS鍜孭HP缂栧啓*******/ /*----------------------------娉ㄩ噴缁撴潫--绋嬪簭寮濮-----------------------------------------------------------*/ @@ -69,8 +69,7 @@ window.ShearPhoto = function() { window.ShearPhoto.prototype = { transformFun:function() { - var Imgstyle = document.body.style, - arr = new Array("MsTransform", "MozTransform", "WebkitTransform", "WebkitTransform", "OTransform", "transform"); + var Imgstyle = document.body.style, arr = new Array("MsTransform", "MozTransform", "WebkitTransform", "WebkitTransform", "OTransform", "transform"); for (var i = 0; i < arr.length; i++) { if (arr[i] in Imgstyle) { this.transform = arr[i]; @@ -98,8 +97,7 @@ window.ShearPhoto.prototype = { domstyle[Transform] = RegTrue ? domstyleTransform + " " + txt :str; }; this.setL = function(dom, L) { - var domstyle = dom.style, RegTrue = true, domstyleTransform = domstyle[Transform], - str = domstyleTransform.replace(this.Reg, function(a, b) { + var domstyle = dom.style, RegTrue = true, domstyleTransform = domstyle[Transform], str = domstyleTransform.replace(this.Reg, function(a, b) { RegTrue = false; var T = b.split(",", 2)[1]; return "translate3d(" + L + "," + T + ",0)"; @@ -107,8 +105,7 @@ window.ShearPhoto.prototype = { domstyle[Transform] = RegTrue ? domstyleTransform + " " + "translate3d(" + L + ",0,0)" :str; }; this.setT = function(dom, T) { - var domstyle = dom.style, RegTrue = true, domstyleTransform = domstyle[Transform], - str = domstyleTransform.replace(this.Reg, function(a, b) { + var domstyle = dom.style, RegTrue = true, domstyleTransform = domstyle[Transform], str = domstyleTransform.replace(this.Reg, function(a, b) { RegTrue = false; var L = b.split(",", 2)[0]; return "translate3d(" + L + "," + T + ",0)"; @@ -132,7 +129,7 @@ window.ShearPhoto.prototype = { }; } }, - URL:window.URL || window.webkitURL || false, + URL:window.URL || window.webkitURL || window.mozURL || window.msURL || false, canvas:false, Images:false, ImagesType:"image/jpeg", @@ -174,6 +171,7 @@ window.ShearPhoto.prototype = { newcanvas.width = SendArry.IW = W; newcanvas.height = SendArry.IH = H; ctx.putImageData(imgData, -SendArry.X * p, -SendArry.Y * p); + delete imgData; }, zipImg:function(DataUrl, maxs, type, functions) { var Image64 = new Image(), this_ = this; @@ -182,8 +180,7 @@ window.ShearPhoto.prototype = { newcanvas.style.display = "none"; var bodys = document.body; bodys.appendChild(newcanvas); - var ctx = newcanvas.getContext("2d"), - width = this.width, height = this.height; + var ctx = newcanvas.getContext("2d"), width = this.width, height = this.height; if (maxs) { var P = width / height; if (width > maxs[0]) { @@ -215,8 +212,10 @@ window.ShearPhoto.prototype = { ctx.clearRect(0, 0, width, height); bodys.removeChild(newcanvas); delete DATA64; + delete Image64; }; Image64.src = DataUrl; + delete DataUrl; }, CtxDrawImage:function(ctx, SendArry, newcanvas, this_) { var MyR = SendArry.R, arg = this_.arg; @@ -226,7 +225,6 @@ window.ShearPhoto.prototype = { W = Math.round(H * p))) :H > this.HTML5MAX && (H = this.HTML5MAX, W = Math.round(H * p), W > this.HTML5MAX && (W = this.HTML5MAX, H = Math.round(W / p))); p = W / WW; - delete this.Images; if (MyR === 0) { var twx = this_.ImgOWidth - SendArry.X, twy = this_.ImgOHeight - SendArry.Y, IMGWx = twx * p, IMGHy = twy * p; newcanvas.width = SendArry.IW = W; @@ -252,11 +250,11 @@ window.ShearPhoto.prototype = { lock:false, PhotoHTML5True:false, SetSrc:function(newsrc, ImgMain, ImgDom, domimg) { - var Dimg = ImgMain.src = ImgDom.src = newsrc; + ImgMain.src = ImgDom.src = newsrc; for (var i = 0; i < domimg[1]; i++) { - domimg[0][i].src = Dimg; + domimg[0][i].src = newsrc; } - delete Dimg; + delete newsrc; }, BOLBID:false, Aclick:false, @@ -273,7 +271,7 @@ window.ShearPhoto.prototype = { return function() { if (HTML5.lock) return; if (HTML5.Aclick === this) { - this_.pointhandle(0, 1, "浜诧紒鐜板湪宸茬粡鏄" + StrEvent + "鏁堟灉浜,鍚冮ケ楗病浜嬪共鍚楋紵", 2, "#307ff6", "#fff"); + this_.pointhandle(1500, 1, "浜诧紒鐜板湪宸茬粡鏄" + StrEvent + "鏁堟灉浜,鍚冮ケ楗病浜嬪共鍚楋紵", 2, "#307ff6", "#fff"); return; } HTML5.lock = true; @@ -300,15 +298,18 @@ window.ShearPhoto.prototype = { this_.pointhandle(1500, 1, StrEvent + "鏁堟灉鍔犺浇鎴愬姛锛佹彁绀猴細濡傛灉鏈哄櫒閰嶇疆宸紝鏁堟灉鍔犺浇鏃堕棿浼氭洿闀垮摝", 1, "#307ff6", "#fff"); HTML5.lock = false; HTML5.PhotoHTML5True = true; - }, 300); + }, 1); }); }; }, + BlobRegExp:new RegExp("^data:.*base64,"), FormBlob:function(dataURI) { - var byteString, splits = dataURI.split(","), splits1 = splits[1]; - if (splits[0].indexOf("base64") >= 0) byteString = atob(splits1); else byteString = unescape(splits1); - var byteStringlength = byteString.length, - ia = new Uint8Array(byteStringlength); + var byteString, splits = false, splits1 = dataURI.replace(this.BlobRegExp, function() { + splits = true; + return ""; + }); + if (splits) byteString = atob(splits1); else byteString = unescape(splits1); + var byteStringlength = byteString.length, ia = new Uint8Array(byteStringlength); for (var i = 0; i < byteStringlength; i++) { ia[i] = byteString.charCodeAt(i); } @@ -327,8 +328,7 @@ window.ShearPhoto.prototype = { transform && H5True && (this.canvas = true, this.HTML5MAX = HTML5MAX); }, CanvasImg:function(SendArry, postArgs, this_) { - var newcanvas = document.createElement("canvas"), - bodys = document.body; + var newcanvas = document.createElement("canvas"), bodys = document.body; newcanvas.style.display = "none"; bodys.appendChild(newcanvas); var ctx = newcanvas.getContext("2d"); @@ -440,13 +440,12 @@ window.ShearPhoto.prototype = { var domimg = [ this.dom.getElementsByTagName("img"), this.dom.getElementsByTagName("a") ], imgUrlFun = function(d, u) { d.src = u; }, imgWHFun = function(d, WH, pro, i) { - var W = Math.round(WH[0] * pro), - H = Math.round(WH[1] * pro), - True = false; + var W = Math.round(WH[0] * pro), H = Math.round(WH[1] * pro), True = false; _this.isW[i] === W || (d.style.width = W + "px", _this.isW[i] = W, True = true); _this.isH[i] === H || (d.style.height = H + "px", _this.isH[i] = H, True = true); - if (True && thisMain.rotate > 10 && thisMain.rotate !== 180) { - var mylt = (_this.isW[i] - _this.isH[i]) / 2 + "px"; + + if (True && thisMain.rotate > 10 && thisMain.rotate !== 180) { + var mylt = (_this.isW[i] - _this.isH[i]) / (thisMain.rotate===270?-2:2) + "px"; d.style[thisMain.transform] = thisMain.SetRote.runSL(d, thisMain.transform, "translate(" + mylt + "," + mylt + ")"); } }, RFun = function(d, styleR, R, pro) { @@ -475,9 +474,9 @@ window.ShearPhoto.prototype = { typeof R === "boolean" ? funthree = EmptyFun :funthree = RFun; typeof left === "boolean" ? left = EmptyFun :(leftBorder = left + arg.Border, topBorder = top + arg.Border, left = function(pro) { - HTML3D.setLT(domimgi, Math.round(leftBorder * pro) + "px", Math.round(topBorder * pro) + "px"); + HTML3D.setLT(domimgi, leftBorder * pro + "px", topBorder * pro+ "px"); }); - for (var i = 0; i < leng; i++) { + for (var i = 0; i < leng; i++) { domimgi = domimgA[i]; pro = arg.preview[i] / formAllW; left(pro); @@ -518,7 +517,7 @@ window.ShearPhoto.prototype = { if (this.dom) { var this_ = this; this.dom.style.display = "block"; - this.dom.parentNode.style.width = arg.scopeWidth + this.domWidth + efffwidth +10 + "px"; + this.dom.parentNode.style.width = arg.scopeWidth + this.domWidth + efffwidth + 10 + "px"; } else { arg.Effects && (arg.Effects.parentNode.style.width = arg.scopeWidth + this.domWidth + efffwidth + 2 + "px"); } @@ -633,8 +632,7 @@ window.ShearPhoto.prototype = { show(num, 0, speed, 1); }, setinitial:function(arg, TF) { - var cl = 0, ct = 0, TrueTraverse = !arg.traverse, - HTML53D = this.HTML5, RL, BL, RT, BT; + var cl = 0, ct = 0, TrueTraverse = !arg.traverse, HTML53D = this.HTML5, RL, BL, RT, BT; if (this.BoxW > this.ImgWidth) { this.relatW = this.ImgWidth; arg.relat.style.width = this.ImgWidth + "px"; @@ -794,12 +792,10 @@ window.ShearPhoto.prototype = { }, run:function(ImgUrl, Trues) { this.HTML5.HTML5PHP = Trues; - var this_ = this, arg = this.arg, relatImgUrl; - this.HTML5.canvas && Trues ? relatImgUrl = ImgUrl :(this.pointhandle(0, 1, "鍥剧墖宸插姞杞斤紝姝e湪鍒涘缓鎴浘鐜锛岃绋嶇瓑.......", 2, "#fbeb61", "#3a414c"), - relatImgUrl = arg.relativeUrl + ImgUrl); - var image = this.HTML5.Images = new Image(); + var this_ = this, arg = this.arg, relatImgUrl = this.HTML5.canvas && Trues ? ImgUrl :arg.relativeUrl + ImgUrl, image = this.HTML5.Images = new Image(); this.defaultShear(); this.arg = arg; + this.HTML5.canvas && Trues || (this.ImgUrl = ImgUrl); image.onload = function() { if (!(this.width = Math.round(this.width)) > 0 || !(this.height = Math.round(this.height)) > 0) { this_.pointhandle(3e3, 10, "璇烽夋嫨姝g‘鍥剧墖", 0, "#f82373", "#fff"); @@ -885,15 +881,16 @@ window.ShearPhoto.prototype = { arg.Shearbar.style.display = "block"; arg.SelectBox.style.visibility = "hidden"; this_.zoom(); - this_.pointhandle(3e3, 10, "鍙互鎷栧姩鎴栨媺浼歌摑杈规杩涜鎴浘", 1, "#fbeb61", "#3a414c"); + this_.pointhandle(2e3, 10, "鍙互鎷栧姩鎴栨媺浼歌摑杈规杩涜鎴浘", 1, "#fbeb61", "#3a414c"); delete relatImgUrl; delete ImgUrl; }; image.onerror = function() { this_.pointhandle(0, 10, "鏃犳硶璇诲彇鍥剧墖銆傚浘鐗囩被鍨嬫垨璺緞涓嶆纭 鎴 relativeUrl鍙傛暟鏄惁瀛樺湪闂", 0, "#f82373", "#fff"); }; - image.src = relatImgUrl; - this.HTML5.canvas && Trues || (this.ImgUrl = ImgUrl); + this.pointhandle(0, 1, "鍥剧墖宸插姞杞斤紝姝e湪鍒涘缓鎴浘鐜锛岃绋嶇瓑........", 2, "#fbeb61", "#3a414c", function() { + image.src = relatImgUrl; + }); }, config:function(arg) { this.arg = arg; @@ -941,14 +938,12 @@ window.ShearPhoto.prototype = { this.pointhandle(3e3, 10, "璇烽夋嫨鏈湴鐓х墖銆佺浉鍐屻佹媿鐓э紝杩涜鎴彇澶村儚", 2, "#307ff6", "#fff"); }, zoom:function() { - var this_ = this, - zoom = new window.ShearPhoto.MoveDiv(); + var this_ = this, zoom = new window.ShearPhoto.MoveDiv(); zoom.reckon(this_.arg.ZoomDist, false); zoom.selectionempty = this_.selectionempty; zoom.addevent = this_.addevent; zoom.HTML5 = this.HTML5; - var Draggable = this_.arg.ZoomBar, - MH, MW; + var Draggable = this_.arg.ZoomBar, MH, MW; if (this_.arg.proportional[0]) { MH = this_.Min; MW = Math.round(MH * this_.arg.proportional[0]); @@ -975,8 +970,7 @@ window.ShearPhoto.prototype = { MoveFun:function(L) { var schedule; if (L < bisect) schedule = Math.round(Zoomout * L + 10) / 100; else schedule = Math.round(L * magnify - 100) / 100; - var W = Math.round(this_.artworkW * schedule), - H = Math.round(this_.artworkH * schedule); + var W = Math.round(this_.artworkW * schedule), H = Math.round(this_.artworkH * schedule); W < MW && (W = MW, H = Math.round(W / this_.ImgScales)); H < MH && (H = MH, W = Math.round(H * this_.ImgScales)); var IMGWH = this_.ImgRotateFun(W, H); @@ -991,10 +985,7 @@ window.ShearPhoto.prototype = { this_.zoomEve = function() { zoom.delDownEve(); }; - var zoomMAx = zoom.ReckonWH.W - zoom.DivW, - bisect = zoomMAx * .5, - magnify = 200 / bisect, - Zoomout = 90 / bisect; + var zoomMAx = zoom.ReckonWH.W - zoom.DivW, bisect = zoomMAx * .5, magnify = 200 / bisect, Zoomout = 90 / bisect; }, PointerShape:function(Shape) { this.arg.scope.style.cursor = this.arg.form.style.cursor = Shape; @@ -1112,9 +1103,7 @@ window.ShearPhoto.prototype = { return this.CycleCalculation(iW, iH, proportional, MaxW, MaxH); }, amend:function(iW, iH, formParent, strLL, strTT) { - var L = iW - this.formAllW, T = iH - this.formAllH, Left, Top, ImgLeft, ImgTop, this_ = this, - HTML5 = this.HTML5, - fun = { + var L = iW - this.formAllW, T = iH - this.formAllH, Left, Top, ImgLeft, ImgTop, this_ = this, HTML5 = this.HTML5, fun = { LL:function() { Left = Math.round(this_.formLeft - L); this_.formLeft = Left; @@ -1189,8 +1178,11 @@ window.ShearPhoto.prototype = { this.arg.ImgMain.setAttribute("style", ""); this.arg.ImgDom.setAttribute("style", ""); } - this.arg = this.ImgUrl = this.formW = this.formH = this.formAllW = this.formAllH = this.drawfun = this.formParent = this.ImgWidth = this.ImgHeight = this.artworkW = this.artworkH = this.BoxW = this.BoxH = this.Border = this.Mdouble = this.ImgScales = this.Min = this.formLeft = this.formTop = this.relatL = this.relatT = this.relatW = this.relatH = this.saveL = this.ImgOWidth = this.ImgOHeight = this.saveT = this.HTML5.lock = this.HTML5.PhotoHTML5True = false; + this.arg = this.ImgUrl = this.formW = this.formH = this.formAllW = this.formAllH = this.drawfun = this.formParent = this.ImgWidth = this.ImgHeight = this.artworkW = this.artworkH = this.BoxW = this.BoxH = this.Border = this.Mdouble = this.ImgScales = this.Min = this.formLeft = this.formTop = this.relatL = this.relatT = this.relatW = this.relatH = this.saveL = this.ImgOWidth = this.ImgOHeight = this.saveT = this.HTML5.lock = this.HTML5.PhotoHTML5True = false; this.rotate = this.ImgMainT = this.ImgDomT = this.ImgMainL = this.ImgDomL = 0; + this.preview.isW=[]; + this.preview.isH=[]; + this.ImgRotateFun = function(W, H) { return [ W, H ]; }; @@ -1216,8 +1208,7 @@ window.ShearPhoto.prototype = { W = Math.round(P); } return [ W, H ]; - }, - SendArry = {}; + }, SendArry = {}; True || (SendArry.url = "../" + this.ImgUrl); var R = { 1:270, @@ -1226,22 +1217,17 @@ window.ShearPhoto.prototype = { "90":270, "180":180, "270":90 - }[this.rotate] || (R = this.rotate), - LT = this.ImgWidth, - TL = this.ImgHeight, - XYWH = { + }[this.rotate] || (R = this.rotate), LT = this.ImgWidth, TL = this.ImgHeight, XYWH = { 0:LT, 90:TL, 180:LT, 270:TL - }, - XYWHP = this.ImgOWidth / XYWH[R]; + }, XYWHP = this.ImgOWidth / XYWH[R]; SendArry.R = R; SendArry.X = Math.round((Math.abs(this.ImgDomL) - this.Border) * XYWHP); SendArry.Y = Math.round((Math.abs(this.ImgDomT) - this.Border) * XYWHP); SendArry.P = this.arg.proportional[0]; - var P = this.formAllW / this.formAllH, - Smaller = SendPHPSmaller(Math.round(this.formAllW * XYWHP), Math.round(this.formAllH * XYWHP), P); + var P = this.formAllW / this.formAllH, Smaller = SendPHPSmaller(Math.round(this.formAllW * XYWHP), Math.round(this.formAllH * XYWHP), P); SendArry.IW = Smaller[0]; SendArry.IH = Smaller[1]; Smaller = SendPHPSmaller(this.formAllW, this.formAllH, P); @@ -1251,8 +1237,7 @@ window.ShearPhoto.prototype = { }, SendPHP:function(postArgs) { this.SendUserMsg("姝e湪涓轰綘澶勭悊鎴浘锛岀◢绛...", 0, 2, "#fbeb61", "#3a414c", true, true); - var this_ = this, SendArry, - HTML5 = this.HTML5, ResultData; + var this_ = this, SendArry, HTML5 = this.HTML5, ResultData; if ((HTML5.HTML5PHP || HTML5.PhotoHTML5True) && HTML5.canvas) { try { HTML5.BOLBID && HTML5.URL.revokeObjectURL(HTML5.BOLBID); @@ -1291,6 +1276,7 @@ window.ShearPhoto.prototype = { return; } typeof this_.complete === "function" && this_.complete(serverdata); + delete this_.HTML5.Images; }, error:function(ErroMsg) { this_.SendUserMsg("閿欒锛氳繛鎺ュ悗绔け璐ワ紝鍙兘鍘熷洜锛岃秴鏃讹紒鎴栬呭悗绔幆澧冩棤娉曡繍琛", 5e3, 0, "#f4102b", "#fff", false); @@ -1396,7 +1382,7 @@ window.ShearPhoto.prototype = { default: break; } - var disX = clientX - PNW * W,disY = clientY - PNH * H; + var disX = clientX - PNW * W, disY = clientY - PNH * H; this.setCapture && this.setCapture(); typeof this_.DomMoveEve === "function" && this_.delEvent(document, this_.eveMold[1], this_.DomMoveEve); this_.DomMoveEve = this_.DomMove(this_, this, disX, disY, PNW, PNH, formParent, MaxW, MaxH, strLL, strTT); @@ -1885,7 +1871,7 @@ window.ShearPhoto.MyAjax.prototype.carry = function(arg) { /*--------------------------閫夋嫨涓婁紶鎴浘鐨凧S閮ㄤ唤寮濮-------------------------------------------------------------------------------*/ window.ShearPhoto.frameUpImg = function(config) { this.BodyDom = document.body; - this.FORM = document.getElementById("ShearPhotoForm"); + this.FORM = config.FORM; this.upfile = this.FORM.UpFile; this.config = config; this.upfileclick = false; @@ -1953,7 +1939,7 @@ window.ShearPhoto.frameUpImg.prototype = { }, DelCreateUpfile:function() { var change = this.upfile.onchange; - this.upfile.onchange = null; + this.upfile.onchange = this.upfile.onclick= null; this.parentNodes.removeChild(this.upfile); var inputfile = document.createElement("input"); inputfile.setAttribute("type", "file"); @@ -1993,9 +1979,10 @@ window.ShearPhoto.frameUpImg.prototype = { return; } } - typeof this.config.preced === "function" && this.config.preced(this.config.HTML5.canvas); - if (this.config.HTML5.canvas) { - var this_ = this; + var this_ =this; + typeof this.config.preced === "function" + && this.config.preced(function(){ + if (this_.config.HTML5.canvas) { var reader = new FileReader(); reader.onload = function() { this_.DelCreateUpfile(); @@ -2003,15 +1990,16 @@ window.ShearPhoto.frameUpImg.prototype = { typeof this_.fun === "function" && this_.fun({ success:DataUrl }, true); + delete (reader); }); }; - setTimeout(function() { - reader.readAsDataURL(files); - }, 500); + reader.readAsDataURL(files); return; } - this.createframe(); - this.FORM.submit(); + this_.createframe(); + this_.FORM.submit(); + }); + } catch (e) { this.DelCreateUpfile(); this.config.erro("浣犻夋嫨浜嗛潪鍥剧墖绫诲瀷锛屾垨 鍥剧墖璺緞鏈夎"); diff --git a/shearphoto_common/js/handle.js b/shearphoto_common/js/handle.js index ebac0db..7334c9c 100644 --- a/shearphoto_common/js/handle.js +++ b/shearphoto_common/js/handle.js @@ -1,4 +1,4 @@ -/*************ShearPhoto2.0 鍏嶈垂锛屽紑婧愶紝鍏煎鐩墠鎵鏈夋祻瑙堝櫒锛岀函鍘熺敓JS鍜孭HP缂栧啓********* +/*************ShearPhoto2.1 鍏嶈垂锛屽紑婧愶紝鍏煎鐩墠鎵鏈夋祻瑙堝櫒锛岀函鍘熺敓JS鍜孭HP缂栧啓********* 浠巗hearphoto 1.5鐩存帴璺宠穬鍒皊hearphoto 2.0锛岃繖鏄痵hearphoto閲嶅ぇ闈╂柊銆傛湰鏉ユ垜鏄兂shearphoto 1.6 銆1.7銆 1.8 鎱㈡參鍗囩殑锛屼絾鏄繖鏍峰崌绾у彧浼氳shearphoto鎱㈡參璧板悜鐏骸锛 缁撴灉鎴戝張杈涜嫤浜嗕竴涓鏄熸湡锛屾妸shearphoto 2.0鍗囩骇瀹屾垚锛 shearphoto2.0涔嬪墠锛屾垜璁や负娌″繀瑕佸姞鍏TML5锛屽吋瀹笽E6 7 8灏卞銆備絾鏄洿鍒板悗鏉ワ紒鎴戠煡閬撹繖鏄垜涓涓敊璇殑鍐冲畾 @@ -46,15 +46,14 @@ shearphoto閲囩敤鍘熺敓JS闈㈠悜瀵硅薄 + 鍘熺敓PHP闈㈠悜瀵硅薄寮鍙戯紝缁濆涓 2015 骞 9鏈 5 鏃 shearphoto浣滆咃細鏄庡摜鍏堢敓 - 鐗堟湰鍙:shearphoto2.0 + 鐗堟湰鍙:shearphoto2.1 shearphoto瀹樼綉锛歸ww.shearphoto.com shearphoto瀹樻柟QQ缇わ細461550716 -****************ShearPhoto2.0 鍏嶈垂锛屽紑婧愶紝鍏煎鐩墠鎵鏈夋祻瑙堝櫒锛岀函鍘熺敓JS鍜孭HP缂栧啓*******/ +****************ShearPhoto2.1 鍏嶈垂锛屽紑婧愶紝鍏煎鐩墠鎵鏈夋祻瑙堝櫒锛岀函鍘熺敓JS鍜孭HP缂栧啓*******/ /*----------------------------娉ㄩ噴缁撴潫--绋嬪簭寮濮-----------------------------------------------------------*/ - -ShearPhoto.MINGGE(function() { +window.ShearPhoto.MINGGE(function() { //鈻堚枅鈻堚枅鈻堚枅鈻堚枅鈻堚枅閲嶈璁剧疆鈻堚枅鈻堚枅鈻堚枅鈻堚枅鈻堚枅鈻堚枅鈻堚枅鈻堚枅 var relativeUrl= "shearphoto_common"; //浣犱笉瑕佸湪鍚庨潰鍔犳枩鏉狅紝绯荤粺浼氳嚜鍔ㄧ粰浣犲姞涓婃枩鏉狅紝涓嶄俊鐪嬩笅闈紒 index.html鐨凧S寮曠敤璺緞鑷繁鏀癸紝寰堢畝鍗曠殑璇 @@ -82,16 +81,16 @@ ShearPhoto.MINGGE(function() { //鈻堚枅鈻堚枅鈻堚枅鈻堚枅鈻堥噸瑕佽缃枅鈻堚枅鈻堚枅鈻堚枅鈻堚枅鈻堚枅鈻堚枅鈻堚枅鈻堚枅 relativeUrl = relativeUrl.replace(/(^\s*)|(\s*$)/g, "");//鍘绘帀鐩稿璺緞鐨勬墍鏈夌┖鏍 relativeUrl === "" || (relativeUrl += "/");//鍦ㄧ浉瀵瑰湴鍧鍚庨潰鍔犳枩妗嗭紝涓嶉渶瑕佺敤鎴疯嚜宸卞姞 - var publicRelat= document.getElementById("relat"); //"relat"瀵瑰儚 - var publicRelatImg=publicRelat.getElementsByTagName("img"); //"relat"涓嬬殑涓ゅ紶鍥剧墖瀵瑰儚 - var Shear = new ShearPhoto; + var publicRelat= document.getElementById("relat"); //"relat"瀵瑰儚 + var publicRelatImg=publicRelat.getElementsByTagName("img"); //"relat"涓嬬殑涓ゅ紶鍥剧墖瀵瑰儚 + var Shear = new ShearPhoto; Shear.config({ /*---------------鐢ㄦ埛璁剧疆閮ㄤ唤寮濮-----------------------------------------------------------------------*/ relativeUrl:relativeUrl, //鍙栧洖鐩稿璺緞锛屼笉鎳傚師鐞嗙殑璇濓紝浣犱笉瑕佹敼鍔ㄥ摝锛屽惁鍒欎綘鍙堥浮宸寸棝浜 traverse:true,//鍙 true,false 銆 鏄惁鍦ㄦ嫋鍔ㄦ垨鎷変几鏃跺厑璁稿巻閬嶅叏鍥撅紙鏄惁璁╁ぇ鍥惧姩鍛級, - /*HTML5閲嶇偣鍔熻兘*/ translate3d:false, //榛樿娌℃湁寮鍚紝浣滆呰涓篜C绔病蹇呰锛佹墜鏈虹鏁堟灉浼氭槑鏄撅紒鏄惁寮鍚3D绉诲姩锛孋PU鍔犻熴傚彲閫塼rue false銆 鍘熸潵鏄噰鐢╨eft top杩涜瀹氫綅鐨勶紝閭d箞3D绉诲姩灏辨槸CSS3鐨則ranslate3d灞炴с傚幓鐧惧害涓涓媡ranslate3D鍚 + /*HTML5閲嶇偣鍔熻兘*/ translate3d:false, //鏄惁寮鍚3D绉诲姩锛孋PU鍔犻熴傚彲閫塼rue false銆傞粯璁ゅ叧闂殑锛屼綔鑰呰涓篜C绔病蹇呰锛佸湪PC绔紑鍚悗锛屾湁閮ㄤ唤娴忚鍣ㄩ〉闈㈣蛋浣嶇殑闂銆備富瑕佹槸鍚勫ぇ娴忚鍣ㄤ笉缁熶竴鎵鑷达紝鎵嬫満绔晥鏋滀細鏄庢樉锛丳C绔病浠涔堟劅瑙夈 鍘熸潵鏄噰鐢╨eft top杩涜瀹氫綅鐨勶紝閭d箞3D绉诲姩灏辨槸CSS3鐨則ranslate3d灞炴с傚幓鐧惧害涓涓媡ranslate3D鍚 /*HTML5閲嶇偣鍔熻兘*/HTML5:true,//鍙 true,false 鏄惁浣跨敤HTML5杩涜鍒囧浘 锛屾敮鎸丠TML5娴忚鍣ㄤ細浣跨敤HTML5杩涜鍒囧浘锛屾病鏈塇TML5娴忚鍣ㄥ垯閲囩敤鍘熷鐨勬柟寮(鍏堜笂浼犲ぇ鍥惧啀鎴彇)锛孲HEARPHOTO杩欎釜鏂规鏃犲彲鎸戝墧浜嗗惂锛 @@ -107,36 +106,36 @@ ShearPhoto.MINGGE(function() { /*璁颁綇 preview (棰勮鍥剧墖鍔熻兘) 灏介噺璁緁alse*/ - preview:[150],// 寮鍚姩鎬侀瑙堝浘鐗 (鏁扮粍鎴愬憳鏁存暟鍨嬶紝绂佹鍚皬鏁扮偣 鍙塮alse 鍜屾暟缁) 鏁扮粍鍐呮槸瀹藉害璁剧疆锛屾病鏈夐珮搴﹁锛佸洜涓洪珮搴︿細鎸夋瘮渚嬪仛浜 锛屾璁剧疆浠h〃鍒嗗埆棰勮150 澶у皬鐨勯瑙堝浘锛堜綘鍙互澧炲姞澶氫釜棰勮鍥撅級锛岃缃秺澶氶瑙堝浘,shearphoto鎬ц兘瓒婂樊锛佸畼鏂逛笉寤烘剰浣犲紑鍚繖涓姛鑳斤紝灏藉彲鑳借璁句负preview:false + preview:[100],// 寮鍚姩鎬侀瑙堝浘鐗 (鏁扮粍鎴愬憳鏁存暟鍨嬶紝绂佹鍚皬鏁扮偣 鍙塮alse 鍜屾暟缁) 鏁扮粍鍐呮槸瀹藉害璁剧疆锛屾病鏈夐珮搴﹁锛佸洜涓洪珮搴︿細鎸夋瘮渚嬪仛浜 锛屾璁剧疆浠h〃鍒嗗埆棰勮150 澶у皬鐨勯瑙堝浘锛堜綘鍙互澧炲姞澶氫釜棰勮鍥撅級锛岃缃秺澶氶瑙堝浘,shearphoto鎬ц兘瓒婂樊锛佸畼鏂逛笉寤烘剰浣犲紑鍚繖涓姛鑳斤紝灏藉彲鑳借璁句负preview:false /*璁颁綇 preview 灏介噺璁緁alse*/ - url:relativeUrl+"php/shearphoto.php", //鍚庣澶勭悊鍦板潃锛屼繚璇佹纭摝锛岃繖鏄父璇嗭紝杩炶繖涓湴鍧閮借兘鍐欓敊锛屼綘灏辨槸鑿淏锛屽凡缁忓湪鏈増鏈腑甯綘鍔犲叆鐩稿璺緞锛屼綘鍩烘湰涓嶇敤鏀硅繖閲屼簡 + url:relativeUrl+"php/shearphoto.php", //鍚庣澶勭悊鍦板潃锛屼繚璇佹纭摝锛岃繖鏄父璇嗭紝杩炶繖涓湴鍧閮借兘鍐欓敊锛屼綘灏辨槸鑿淏锛屽凡缁忓湪鏈増鏈腑甯綘鍔犲叆鐩稿璺緞锛屼綘鍩烘湰涓嶇敤鏀硅繖閲屼簡 - scopeWidth:500, //鍙嫋鍔ㄨ寖鍥村 涔熷氨鏄"main"瀵硅薄鐨勫垵濮嬪ぇ灏(鏁存暟鍨嬶紝绂佹鍚皬鏁扮偣) + scopeWidth:500, //鍙嫋鍔ㄨ寖鍥村 涔熷氨鏄"main"瀵硅薄鐨勫垵濮嬪ぇ灏(鏁存暟鍨嬶紝绂佹鍚皬鏁扮偣) - scopeHeight:500, //鍙嫋鍔ㄨ寖鍥撮珮 涔熷氨鏄"main"瀵硅薄鐨勫垵濮嬪ぇ灏(鏁存暟鍨嬶紝绂佹鍚皬鏁扮偣) + scopeHeight:500, //鍙嫋鍔ㄨ寖鍥撮珮 涔熷氨鏄"main"瀵硅薄鐨勫垵濮嬪ぇ灏(鏁存暟鍨嬶紝绂佹鍚皬鏁扮偣) - proportional:[1/1, + proportional:[1/1, 100, //蹇呴』鏁存暟锛佸惎鍔ㄥ悗鐨勬埅妗嗗垵濮嬪搴(鏁存暟鍨嬶紝绂佹鍚皬鏁扮偣) 133 //姣斾緥璁剧疆鍚庯紝杩欎釜楂樺害鏃犳晥锛岀敱瀹藉拰姣斾緥鏉ュ喅瀹(鏁存暟鍨嬶紝绂佹鍚皬鏁扮偣) ], - Min:50, //鎴鎷変几鎴栨嫋鎷戒笉鑳藉皯浜庡灏慞X(鏁存暟鍨嬶紝绂佹鍚皬鏁扮偣) + Min:50, //鎴鎷変几鎴栨嫋鎷戒笉鑳藉皯浜庡灏慞X(鏁存暟鍨嬶紝绂佹鍚皬鏁扮偣) - Max:500, //涓寮濮嬪惎鍔ㄦ椂锛屽浘鐗囩殑瀹藉拰楂橈紝鏈夋椂鍊欏浘鐗囦細寰堝ぇ鐨勶紝蹇呴』瑕佽缃竴涓(鏁存暟鍨嬶紝绂佹鍚皬鏁扮偣) + Max:500, //涓寮濮嬪惎鍔ㄦ椂锛屽浘鐗囩殑瀹藉拰楂橈紝鏈夋椂鍊欏浘鐗囦細寰堝ぇ鐨勶紝蹇呴』瑕佽缃竴涓(鏁存暟鍨嬶紝绂佹鍚皬鏁扮偣) - backgroundColor:"#000", //閬眰鑹 + backgroundColor:"#000", //閬眰鑹 - backgroundOpacity:0.6, //閬眰閫忔槑搴-鏁板瓧0-1 鍙 + backgroundOpacity:0.6, //閬眰閫忔槑搴-鏁板瓧0-1 鍙 - Border:0, //鎴鐨勮竟妗嗗ぇ灏 0浠h〃鍔ㄦ佽竟妗嗐傚ぇ浜0琛ㄧず闈欐佽竟妗嗭紝澶т簬0鏃朵篃浠h〃闈欐佽竟妗嗙殑绮楃粏鍊 + Border:0, //鎴鐨勮竟妗嗗ぇ灏 0浠h〃鍔ㄦ佽竟妗嗐傚ぇ浜0琛ㄧず闈欐佽竟妗嗭紝澶т簬0鏃朵篃浠h〃闈欐佽竟妗嗙殑绮楃粏鍊 - BorderStyle:"solid", //鍙綔鐢ㄤ簬闈欐佽竟妗嗭紝鎴鐨勮竟妗嗙被鍨嬶紝鍏跺疄鏄紩鍏SS鐨刡order灞炴э紝鍜孋SS2鐨刡order灞炴ф槸涓鏍风殑 + BorderStyle:"solid", //鍙綔鐢ㄤ簬闈欐佽竟妗嗭紝鎴鐨勮竟妗嗙被鍨嬶紝鍏跺疄鏄紩鍏SS鐨刡order灞炴э紝鍜孋SS2鐨刡order灞炴ф槸涓鏍风殑 - BorderColor:"#09F", //鍙綔鐢ㄤ簬闈欐佽竟妗嗭紝鎴鐨勮竟妗嗚壊褰 + BorderColor:"#09F", //鍙綔鐢ㄤ簬闈欐佽竟妗嗭紝鎴鐨勮竟妗嗚壊褰 /*---------------鐢ㄦ埛璁剧疆鎴浘鍔熻兘閮ㄤ唤..杩樻病缁撴潫----------------------椤甸潰涓嬮潰杩樻湁涓浜涚粏鑺傝缃紝鍘荤湅涓涓-------------------------------------------------*/ relat:publicRelat, //璇锋煡鐪 id:"relat"瀵硅薄 scope:document.getElementById("main"),//main鑼冨洿瀵硅薄 @@ -160,9 +159,9 @@ ShearPhoto.MINGGE(function() { DynamicBorder:[document.getElementById("borderTop"),document.getElementById("borderLeft"),document.getElementById("borderRight"),document.getElementById("borderBottom")], SelectBox:document.getElementById("SelectBox"), //閫夋嫨鍥剧墖鏂瑰紡鐨勫璞 Shearbar:document.getElementById("Shearbar"), //鎴浘宸ュ叿鏉″璞 - UpFun:function() { //榧犳爣鍋ユ澗寮鏃舵墽琛屽嚱鏁 + UpFun:function() { //榧犳爣鍋ユ澗寮鏃舵墽琛屽嚱鏁 Shear.MoveDiv.DivWHFun(); //鎶婃埅妗嗙幇鏃剁殑瀹介珮鍛婅瘔JS - } + } }); /*--------------------------------------------------------------鎴浘鎴愬姛鍚庯紝杩斿洖鏉ョ殑callback-------------------------*/ @@ -203,31 +202,36 @@ var photoalbum = document.getElementById("photoalbum");//鐩稿唽瀵硅薄 /*.................................................閫夋嫨鍥剧墖涓婁紶鐨勮缃...............................................................*/ +var ShearPhotoForm = document.getElementById("ShearPhotoForm");//FORM瀵硅薄 +ShearPhotoForm.UpFile.onclick=function(){return false}//涓寮濮嬫椂鍏堜笉璁╃敤鎴风偣鍏嶅緱浜嬩欢闃诲 var up = new ShearPhoto.frameUpImg({ - url:relativeUrl+"php/upload.php",//HTML5鍒囧浘鏃讹紝涓嶄細鐢ㄥ埌璇ユ枃浠讹紝鍚庣澶勭悊鍦板潃锛屼繚璇佹纭摝锛岃繖鏄父璇嗭紝杩炶繖涓湴鍧閮借兘鍐欓敊锛屼綘灏辨槸鑿淏锛屽凡缁忓湪鏈増鏈腑甯綘鍔犲叆鐩稿璺緞锛屼綘鍩烘湰涓嶇敤鏀硅繖閲屼簡 + + url:relativeUrl+"php/upload.php", //HTML5鍒囧浘鏃讹紝涓嶄細鐢ㄥ埌璇ユ枃浠讹紝鍚庣澶勭悊鍦板潃锛屼繚璇佹纭摝锛岃繖鏄父璇嗭紝杩炶繖涓湴鍧閮借兘鍐欓敊锛屼綘灏辨槸鑿淏锛屽凡缁忓湪鏈増鏈腑甯綘鍔犲叆鐩稿璺緞锛屼綘鍩烘湰涓嶇敤鏀硅繖閲屼簡 + + FORM:ShearPhotoForm, //FORM瀵硅薄浼犲埌璁剧疆 UpType:new Array("jpg", "jpeg", "png", "gif"),//鍥剧墖绫婚檺鍒讹紝涓婁紶鐨勪竴瀹氭槸鍥剧墖锛屼綘灏变笉瑕佹洿鏀逛簡 - FilesSize:2, //閫夋嫨鐨勫浘鐗囦笉鑳借秴杩 鍗曚綅M + FilesSize:2, //閫夋嫨鐨勫浘鐗囦笉鑳借秴杩 鍗曚綅M - HTML5:Shear.HTML5, //鍒囧寙鏀瑰姩杩欏彞锛屼笉鐒朵綘浠栧鍙堥棶涓轰粈涔堝嚭閿 + HTML5:Shear.HTML5, //鍒囧寙鏀瑰姩杩欏彞锛屼笉鐒朵綘浠栧鍙堥棶涓轰粈涔堝嚭閿 - HTML5FilesSize:Shear.arg.HTML5FilesSize,//鍒囧寙鏀瑰姩杩欏彞 濡傛灉鏄疕TML5鍒囧浘鏃讹紝閫夋嫨鐨勫浘鐗囦笉鑳借秴杩 鍗曚綅M锛岃澶ぇ璇濓紝濡傛灉瀹㈡埛绔疕TML5鍔犳埅瓒呭ぇ鍥剧墖鏃讹紝浼氬崱鐖嗙殑 + HTML5FilesSize:Shear.arg.HTML5FilesSize,//鍒囧寙鏀瑰姩杩欏彞 濡傛灉鏄疕TML5鍒囧浘鏃讹紝閫夋嫨鐨勫浘鐗囦笉鑳借秴杩 鍗曚綅M锛岃澶ぇ璇濓紝濡傛灉瀹㈡埛绔疕TML5鍔犳埅瓒呭ぇ鍥剧墖鏃讹紝浼氬崱鐖嗙殑 - HTML5ZIP:Shear.arg.HTML5ZIP, //鍒囧寙鏀瑰姩杩欏彞, 鎶婂帇缂╄缃浆绉诲埌杩欓噷 + HTML5ZIP:Shear.arg.HTML5ZIP, //鍒囧寙鏀瑰姩杩欏彞, 鎶婂帇缂╄缃浆绉诲埌杩欓噷 - erro:function(msg) { + erro:function(msg) { Shear.pointhandle(3e3, 10, msg, 0, "#f82373", "#fff"); }, fileClick:function(){//鍏堟嫨鍥剧墖琚偣鍑绘椂锛岃Е鍙戠殑浜嬩欢 Shear.pointhandle(-1);//鍏抽棴鎻愮ず锛岄槻姝㈢嚎绋嬮樆濉炰簨浠跺啋娉 }, - preced:function(True) { + preced:function(fun) { //鐐瑰嚮閫夋嫨鍥撅紝杞藉叆鍥剧墖鏃剁殑浜嬩欢 try{ photoalbum.style.display = "none"; //浠涔堟儏鍐典笅閮藉叧浜嗙浉鍐 camClose.onclick(); //浠涔堟儏鍐典笅閮藉叧浜嗚棰 }catch (e){console.log("鍦ㄥ姞杞藉浘鐗囨椂锛屽彂鐜扮浉鍐屾垨鎷嶇収鐨勫璞℃娴嬩笉鍒帮紝閿欒浠g爜锛"+e);} - Shear.pointhandle(0, 10, "姝e湪涓轰綘鍔犺浇鍥剧墖锛岃浣犵◢绛夊摝......", 2, "#307ff6", "#fff"); + Shear.pointhandle(0, 10, "姝e湪涓轰綘鍔犺浇鍥剧墖锛岃浣犵◢绛夊摝......", 2, "#307ff6", "#fff",fun); } }); @@ -284,7 +288,7 @@ PhotoLoading.onclick = function() { //浠庣浉鍐岄夊彇浜嬩欢 Shear.Rotate("right"); }); - Shear.addEvent(document.getElementById("againIMG"), "click", function() { //閲嶆柊閫夋嫨浜嬩欢 + Shear.addEvent(document.getElementById("againIMG"), "click", function() { //閲嶆柊閫夋嫨浜嬩欢 Shear.preview.close_(); Shear.again(); Shear.HTML5.EffectsReturn(); diff --git a/shearphoto_common/js/webcam_ShearPhoto.js b/shearphoto_common/js/webcam_ShearPhoto.js index 1450b95..113cfd1 100644 --- a/shearphoto_common/js/webcam_ShearPhoto.js +++ b/shearphoto_common/js/webcam_ShearPhoto.js @@ -1,5 +1,5 @@ //鎷嶇収FLASH鐨凙S鑴氭湰宸插叏閮ㄩ噸鍐欙紝杩欐槸鎽勮薄澶存媿鐓х殑JS鎺ュ彛锛屾劅璋㈢綉鍙嬧淩OC鈥濆杩欎釜鎷嶇収FLASH鎻愪緵寮鍙戝府鍔 -/*************ShearPhoto2.0 鍏嶈垂锛屽紑婧愶紝鍏煎鐩墠鎵鏈夋祻瑙堝櫒锛岀函鍘熺敓JS鍜孭HP缂栧啓********* +/*************ShearPhoto2.1 鍏嶈垂锛屽紑婧愶紝鍏煎鐩墠鎵鏈夋祻瑙堝櫒锛岀函鍘熺敓JS鍜孭HP缂栧啓********* 浠巗hearphoto 1.5鐩存帴璺宠穬鍒皊hearphoto 2.0锛岃繖鏄痵hearphoto閲嶅ぇ闈╂柊銆傛湰鏉ユ垜鏄兂shearphoto 1.6 銆1.7銆 1.8 鎱㈡參鍗囩殑锛屼絾鏄繖鏍峰崌绾у彧浼氳shearphoto鎱㈡參璧板悜鐏骸锛 缁撴灉鎴戝張杈涜嫤浜嗕竴涓鏄熸湡锛屾妸shearphoto 2.0鍗囩骇瀹屾垚锛 shearphoto2.0涔嬪墠锛屾垜璁や负娌″繀瑕佸姞鍏TML5锛屽吋瀹笽E6 7 8灏卞銆備絾鏄洿鍒板悗鏉ワ紒鎴戠煡閬撹繖鏄垜涓涓敊璇殑鍐冲畾 @@ -47,15 +47,15 @@ shearphoto閲囩敤鍘熺敓JS闈㈠悜瀵硅薄 + 鍘熺敓PHP闈㈠悜瀵硅薄寮鍙戯紝缁濆涓 2015 骞 9鏈 5 鏃 shearphoto浣滆咃細鏄庡摜鍏堢敓 - 鐗堟湰鍙:shearphoto2.0 + 鐗堟湰鍙:shearphoto2.1 shearphoto瀹樼綉锛歸ww.shearphoto.com shearphoto瀹樻柟QQ缇わ細461550716 -****************ShearPhoto2.0 鍏嶈垂锛屽紑婧愶紝鍏煎鐩墠鎵鏈夋祻瑙堝櫒锛岀函鍘熺敓JS鍜孭HP缂栧啓*******/ +****************ShearPhoto2.1 鍏嶈垂锛屽紑婧愶紝鍏煎鐩墠鎵鏈夋祻瑙堝櫒锛岀函鍘熺敓JS鍜孭HP缂栧啓*******/ /*-----------------------------------------------------杩欐槸FLASH鎷嶇収鎺ュ彛鏂囦欢-----------------------------*/ window.webcam = { - version:"shearphoto2.0", + version:"shearphoto2.1", // globals ie:!!navigator.userAgent.match(/MSIE/), protocol:location.protocol.match(/https/i) ? "https" :"http", diff --git a/shearphoto_common/php/shearphoto.config.php b/shearphoto_common/php/shearphoto.config.php index 57c6bca..a9f5acd 100644 --- a/shearphoto_common/php/shearphoto.config.php +++ b/shearphoto_common/php/shearphoto.config.php @@ -1,13 +1,12 @@ 1/1,//姣斾緥鎴浘锛孞S绔篃瑕佺浉搴旇缃摝锛屼笉鐒剁郴缁熶細缁欎綘鎶卞嚭閿欒,涓嶈姣斾緥濉0锛屽濉瘮渚 锛3/4 浠h〃瀹藉拰楂樼殑姣斾緥鏄3/4 +"proportional"=>1/1,//姣斾緥鎴浘锛孞S绔篃瑕佺浉搴旇缃摝锛屼笉鐒剁郴缁熶細缁欎綘鎶卞嚭閿欒,涓嶈姣斾緥濉0锛屽濉瘮渚 锛3/4 浠h〃瀹藉拰楂樼殑姣斾緥鏄3/4(3闄や互4鐨勬剰鎬濇噦鍚楋紝鑿滆彍锛屼綘鍙洿鎺ュ~0.75锛屾病閿) "quality"=>100,// 鎴浘璐ㄩ噺锛0涓轰竴鑸川閲忥紙璐ㄩ噺澶ф75宸﹀彸锛夛紝 0-100鍙 锛 鏁存暟鍨嬶紝璐ㄩ噺瓒呴珮锛岃秺娓呮穮锛岀己鐐规槸鏂囦欢浣撶Н瓒婂ぇ锛屼笉鏄お涓ユ牸杩芥眰鍥剧墖楂樻竻锛岃0灏卞彲浠,鎻愮ず锛歅NG鍥剧墖涓嶅甫姝ゆ晥鏋 @@ -19,11 +18,11 @@ //array(-1,true),//姝ゆ椂鐨-1 浠h〃浠ュ師鍥句负鍩哄噯锛岃幏寰楁埅鍥 - array(150,true),//@鍙傛暟1瑕佺敓鎴愮殑瀹 锛堥珮搴︿笉鐢ㄨ锛岀郴缁熶細鎸夋瘮渚嬪仛浜嬶級锛 @鍙傛暟2锛氭槸鍚︿负璇ュ浘鍔犳按鍗帮紝water鍙傛暟瑕佹湁姘村嵃鍦板潃鎵嶆湁鏁坱rue鎴杅alse + array(150,true,"big"),//@鍙傛暟1瑕佺敓鎴愮殑瀹 锛堥珮搴︿笉鐢ㄨ锛岀郴缁熶細鎸夋瘮渚嬪仛浜嬶級锛 @鍙傛暟2锛氭槸鍚︿负璇ュ浘鍔犳按鍗帮紝water鍙傛暟瑕佹湁姘村嵃鍦板潃鎵嶆湁鏁坱rue鎴杅alse @鍙傛暟3锛氬浘鐗囧悗闈㈡坊鍔犲瓧绗︿覆 锛堢敤浠ュ尯鍒嗗叾浠栨埅鍥惧悕绉),濉啓瀛楃涓诧紝涓嶈鍚腑鏂囷紝涓嶇劧鑳藉張楦″反鐥涗簡 锛屼笉瀹氫箟鐨勮瘽榛樿涓衡0鈥 - array(100,true),//@鍙傛暟1瑕佺敓鎴愮殑瀹 锛堥珮搴︿笉鐢ㄨ锛岀郴缁熶細鎸夋瘮渚嬪仛浜嬶級锛 @鍙傛暟2锛氭槸鍚︿负璇ュ浘鍔犳按鍗帮紝water鍙傛暟瑕佹湁姘村嵃鍦板潃鎵嶆湁鏁坱rue鎴杅alse - - array(70,true)//浣犲彲浠ョ户缁鍔犲寮犵収鐗 + array(100,true,"centre"),//@鍙傛暟1瑕佺敓鎴愮殑瀹 锛堥珮搴︿笉鐢ㄨ锛岀郴缁熶細鎸夋瘮渚嬪仛浜嬶級锛 @鍙傛暟2锛氭槸鍚︿负璇ュ浘鍔犳按鍗帮紝water鍙傛暟瑕佹湁姘村嵃鍦板潃鎵嶆湁鏁坱rue鎴杅alse @鍙傛暟3锛氬浘鐗囧悗闈㈡坊鍔犲瓧绗︿覆 锛堢敤浠ュ尯鍒嗗叾浠栨埅鍥惧悕绉),濉啓瀛楃涓诧紝涓嶈鍚腑鏂囷紝涓嶇劧鑳藉張楦″反鐥涗簡锛屼笉瀹氫箟鐨勮瘽榛樿涓"0" + + array(70,true,"small")//浣犲彲浠ョ户缁鍔犲寮犵収鐗 ), "water"=>"../images/waterimg2.png",//鍙帴鍙桺NG姘村嵃锛屽綋鐒朵綘瀵筆HP鐔熺粌锛屼綘鍙互瀵逛富绋嬪簭杩涜淇敼鏀寔鍏朵粬绫诲瀷姘村嵃,涓嶈灏"water"=>false @@ -36,10 +35,10 @@ "saveURL"=>ShearURL."file".DIRECTORY_SEPARATOR."shearphoto_file".DIRECTORY_SEPARATOR,//鎴ソ鍚庣殑鍥剧墖銆傚偍瀛樼殑鐩綍浣嶇疆锛屽悗闈笉瑕佸姞鏂滄潬锛岀郴缁熶細鑷姩缁欒ˉ涓婏紒涓嶈浣跨敤涓枃 -"filename"=>uniqid("shearphoto_")."_".mt_rand(100,999)."_"//鎴ソ鍚庣殑鍥剧墖鐨勬枃浠跺悕瀛楀畾涔夛紒瑕佺敓鎴愬涓枃浠舵椂 绯荤粺浼氳嚜鍔ㄥ湪鍚庨潰琛0 1 2 3.....; +"filename"=>uniqid("shearphoto_")."_".mt_rand(100,999)."_"//鎴ソ鍚庣殑鍥剧墖鐨勬枃浠跺悕瀛楀畾涔夛紒瑕佺敓鎴愬涓枃浠舵椂 绯荤粺浼氳嚜鍔ㄥ湪鍚庨潰琛ヤ笂 "width"=>array()鍙傛暟瀹氫箟鐨勫悕绉,璇锋煡鐪嬩笂闈㈢殑"width"=>array() ); -/*************ShearPhoto2.0鍏嶈垂锛屽紑婧愶紝鍏煎鐩墠鎵鏈夋祻瑙堝櫒锛岀函鍘熺敓JS鍜孭HP缂栧啓,瀹岀編鍏煎linux鍜學INDOW鏈嶅姟鍣********* +/*************ShearPhoto2.1鍏嶈垂锛屽紑婧愶紝鍏煎鐩墠鎵鏈夋祻瑙堝櫒锛岀函鍘熺敓JS鍜孭HP缂栧啓,瀹岀編鍏煎linux鍜學INDOW鏈嶅姟鍣********* 浠巗hearphoto 1.5鐩存帴璺宠穬鍒皊hearphoto 2.0锛岃繖鏄痵hearphoto閲嶅ぇ闈╂柊銆傛湰鏉ユ垜鏄兂shearphoto 1.6 銆1.7銆 1.8 鎱㈡參鍗囩殑锛屼絾鏄繖鏍峰崌绾у彧浼氳shearphoto鎱㈡參璧板悜鐏骸锛 缁撴灉鎴戝張杈涜嫤浜嗕竴涓鏄熸湡锛屾妸shearphoto 2.0鍗囩骇瀹屾垚锛 @@ -88,9 +87,9 @@ 2015 骞 9鏈 5 鏃 shearphoto浣滆咃細鏄庡摜鍏堢敓 - 鐗堟湰鍙:shearphoto2.0 + 鐗堟湰鍙:shearphoto2.1 shearphoto瀹樼綉锛歸ww.shearphoto.com shearphoto瀹樻柟QQ缇わ細461550716 -****************ShearPhoto2.0 鍏嶈垂锛屽紑婧愶紝鍏煎鐩墠鎵鏈夋祻瑙堝櫒锛岀函鍘熺敓JS鍜孭HP缂栧啓,瀹岀編鍏煎linux鍜學INDOW鏈嶅姟鍣*******/ +****************ShearPhoto2.1 鍏嶈垂锛屽紑婧愶紝鍏煎鐩墠鎵鏈夋祻瑙堝櫒锛岀函鍘熺敓JS鍜孭HP缂栧啓,瀹岀編鍏煎linux鍜學INDOW鏈嶅姟鍣*******/ ?> \ No newline at end of file diff --git a/shearphoto_common/php/shearphoto.php b/shearphoto_common/php/shearphoto.php index 185e56e..6400a3f 100644 --- a/shearphoto_common/php/shearphoto.php +++ b/shearphoto_common/php/shearphoto.php @@ -1,5 +1,5 @@ delTempImg($PHPconfig["temp"], $PHPconfig["tempSaveTime"]); $imagecreatefrom=$this->imagecreatefrom($_FILES['UpFile']['tmp_name'],$int_type[2]); @@ -205,14 +202,15 @@ protected function CreateArray($PHPconfig, $JSconfig) { return false; } } + $file_url = $PHPconfig["saveURL"] . $PHPconfig["filename"]; foreach ($PHPconfig["width"] as $k => $v) { ($v[0] == 0) ? ($v[0] = $JSconfig["FW"]):($v[0] == -1) and ($v[0] = $JSconfig["IW"]); $height = $v[0] / $proportion; - $file_url = $PHPconfig["saveURL"] . DIRECTORY_SEPARATOR . $PHPconfig["filename"] . $k; - $arr[$k] = array( + $suffix=isset($v[2])?$v[2]:"0"; + $arr[$k] = array( $v[0], $height, - $file_url, + $file_url.$suffix, ($v[1] === true and $water_or === true and $v[0] > $PHPconfig["water_scope"] and $height > $PHPconfig["water_scope"]) ); } @@ -307,6 +305,7 @@ protected function compression($DigShear, $PHPconfig, $JSconfig, $type, $GdFun) 鐢╲ar_dump($result)灞曞紑锛屼綘渚夸竴鐩簡鐒讹紒 */ //ShearPhoto 浣滆:鏄庡摜鍏堢敓 QQ399195513 - $str_result = json_encode($result); - echo str_replace("\/\/", "/", $str_result); //鍘绘帀鏃犵敤鐨勫瓧绗︿慨姝RL鍦板潃锛屽啀鎶婃暟鎹紶寮熺粰JS + + $str_result = json_encode($result); + echo str_replace("\/", "/", $str_result); //鍘绘帀鏃犵敤鐨勫瓧绗︿慨姝RL鍦板潃锛屽啀鎶婃暟鎹紶寮熺粰JS ?> diff --git a/shearphoto_common/php/shearphoto.up.php b/shearphoto_common/php/shearphoto.up.php index fc7876e..65c85b3 100644 --- a/shearphoto_common/php/shearphoto.up.php +++ b/shearphoto_common/php/shearphoto.up.php @@ -1,5 +1,5 @@