看板 Web_Design 關於我們 聯絡資訊
我用了 JCrop 來做圖片裁減 demo: https://jsfiddle.net/b0f91bnt/1/ 但是由於原始圖片區域我有設定 width=300 但擷取出來的圖片卻是原始大小 我有上網查,可以加入一個參數在 $('#Image1').Jcrop({ .... }); 裡面 trueSize: [原始長, 原始寬] 這樣就可以解決我的問題 但是我沒辦法在 $('#Image1').Jcrop 之前就拿到長寬,也就沒辦法設定 trueSize... 求救各位神人,我已經試了好幾個小時弄不出來 哭哭... -- ※ 發信站: 批踢踢實業坊(ptt.cc) ※ 轉錄者: ho2002 (114.136.100.157), 08/26/2017 14:22:11 ※ 編輯: ho2002 (114.136.100.157), 08/26/2017 14:22:48
pop0030: 用naturalWidth取圖片原始寬(高也一樣) 08/26 16:40
pop0030: 參考https://stackoverflow.com/questions/21363955 08/26 16:40
ho2002: 我有成功抓到原始長寬,但沒辦法在觸發 Jcrop 前把長寬的 08/26 17:46
ho2002: 值塞給 trueSize: [原始長, 原始寬] Q_Q 08/26 17:47
ho2002: 導致會塞進 undefined 進去... orz||||| 08/26 17:47
jhnny97: 1樓已經告訴你啦 $('#Image1').prop('naturalHeight') 08/26 18:09
jhnny97: 在圖片讀取完成後可以直接抓到 08/26 18:10
ho2002: 抱歉 小的 JS 屬只會改參數的等級... 沒試出來 08/26 18:34
ho2002: http://i.imgur.com/lsyedLe.png 紅框處是調整後 08/26 18:34
ho2002: 但還是沒作用 Q_Q 08/26 18:34
jhnny97: 你放在change裡面當然抓不到啊,你上傳圖片又不是1毫秒 08/26 18:45
jhnny97: 就傳完,你之後要用的時候再去抓就好啦 08/26 18:46
ho2002: 感謝樓上大大說明,我做了微調,可以拿到長寬,但好像還是 08/26 19:10
ho2002: 比觸發 11 行還來的慢? https://jsfiddle.net/b0f91bnt/2/ 08/26 19:10
ho2002: 如果 trueSize 那行正確的話,選取時右邊應該要出現預覽 08/26 19:11
jhnny97: 1.Jcrop沒有trueSize這個event 08/26 19:25
jhnny97: 2.你要稍微搞清楚JS的scope,中文你可以搜尋變數範圍 08/26 19:27
ho2002: 文件好像沒提到 trueSize 但我有測試過確實是 work 的 08/26 19:38
ho2002: http://jsfiddle.net/v2c7xzqg/ <--- 範例 第4行 08/26 19:38
ho2002: 如果拿掉 trueSize 就會以原始比例進行擷取 08/26 19:39
ho2002: 感謝第二點建議 我真的對 JS 的變數範圍完全不清楚 XD 08/26 19:41
jhnny97: 噢對我漏看了 08/26 19:44
ho2002: 再請 jhnny97 大大指點一下哪裡有錯 寫JS好頭痛阿!!! 08/26 19:47
jhnny97: 你看完scope應該就沒問題啦,還有你的一二行沒有 ; 08/26 19:54
ho2002: 感謝p大和j大指點 有試出來了QQ 但語法還是好難理解阿 XD 08/26 20:11