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