Fw: [请问] JS 的小问题!!! 求救高手!!!!

楼主: ho2002 (批踢踢特侦组)   2017-08-26 14:22:11
我用了 JCrop 来做图片裁减
demo: https://jsfiddle.net/b0f91bnt/1/
但是由于原始图片区域我有设定 width=300
但撷取出来的图片却是原始大小
我有上网查,可以加入一个参数在 $('#Image1').Jcrop({ .... }); 里面
trueSize: [原始长, 原始宽] 这样就可以解决我的问题
但是我没办法在 $('#Image1').Jcrop 之前就拿到长宽,也就没办法设定 trueSize...
求救各位神人,我已经试了好几个小时弄不出来 哭哭...
作者: pop0030 (joker)   2017-08-26 16:40:00
用naturalWidth取图片原始宽(高也一样)参考https://stackoverflow.com/questions/21363955
楼主: ho2002 (批踢踢特侦组)   2017-08-26 17:46:00
我有成功抓到原始长宽,但没办法在触发 Jcrop 前把长宽的值塞给 trueSize: [原始长, 原始宽] Q_Q导致会塞进 undefined 进去... orz|||||
作者: jhnny97 (≡(  ゚Д゚))   2017-08-26 18:09:00
1楼已经告诉你啦 $('#Image1').prop('naturalHeight')在图片读取完成后可以直接抓到
楼主: ho2002 (批踢踢特侦组)   2017-08-26 18:34:00
抱歉 小的 JS 属只会改参数的等级... 没试出来http://i.imgur.com/lsyedLe.png 红框处是调整后但还是没作用 Q_Q
作者: jhnny97 (≡(  ゚Д゚))   2017-08-26 18:45:00
你放在change里面当然抓不到啊,你上传图片又不是1毫秒就传完,你之后要用的时候再去抓就好啦
楼主: ho2002 (批踢踢特侦组)   2017-08-26 19:10:00
感谢楼上大大说明,我做了微调,可以拿到长宽,但好像还是比触发 11 行还来的慢? https://jsfiddle.net/b0f91bnt/2/如果 trueSize 那行正确的话,选取时右边应该要出现预览
作者: jhnny97 (≡(  ゚Д゚))   2017-08-26 19:25:00
1.Jcrop没有trueSize这个eventhttp://deepliquid.com/content/Jcrop_Manual.html2.你要稍微搞清楚JS的scope,中文你可以搜寻变量范围
楼主: ho2002 (批踢踢特侦组)   2017-08-26 19:38:00
文件好像没提到 trueSize 但我有测试过确实是 work 的http://jsfiddle.net/v2c7xzqg/ <--- 范例 第4行如果拿掉 trueSize 就会以原始比例进行撷取感谢第二点建议 我真的对 JS 的变量范围完全不清楚 XD
作者: jhnny97 (≡(  ゚Д゚))   2017-08-26 19:44:00
噢对我漏看了
楼主: ho2002 (批踢踢特侦组)   2017-08-26 19:47:00
再请 jhnny97 大大指点一下哪里有错 写JS好头痛阿!!!
作者: jhnny97 (≡(  ゚Д゚))   2017-08-26 19:54:00
你看完scope应该就没问题啦,还有你的一二行没有 ;
楼主: ho2002 (批踢踢特侦组)   2017-08-26 20:11:00
感谢p大和j大指点 有试出来了QQ 但语法还是好难理解阿 XD

Links booklink

Contact Us: admin [ a t ] ucptt.com