作者ho2002 (批踢踢特侦组)
看板Web_Design
标题Fw: [请问] JS 的小问题!!! 求救高手!!!!
时间Sat Aug 26 14:22:11 2017
我用了 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
1F:推 pop0030: 用naturalWidth取图片原始宽(高也一样) 08/26 16:40
3F:→ ho2002: 我有成功抓到原始长宽,但没办法在触发 Jcrop 前把长宽的 08/26 17:46
4F:→ ho2002: 值塞给 trueSize: [原始长, 原始宽] Q_Q 08/26 17:47
5F:→ ho2002: 导致会塞进 undefined 进去... orz||||| 08/26 17:47
6F:→ jhnny97: 1楼已经告诉你啦 $('#Image1').prop('naturalHeight') 08/26 18:09
7F:→ jhnny97: 在图片读取完成後可以直接抓到 08/26 18:10
8F:→ ho2002: 抱歉 小的 JS 属只会改参数的等级... 没试出来 08/26 18:34
10F:→ ho2002: 但还是没作用 Q_Q 08/26 18:34
11F:→ jhnny97: 你放在change里面当然抓不到啊,你上传图片又不是1毫秒 08/26 18:45
12F:→ jhnny97: 就传完,你之後要用的时候再去抓就好啦 08/26 18:46
13F:→ ho2002: 感谢楼上大大说明,我做了微调,可以拿到长宽,但好像还是 08/26 19:10
15F:→ ho2002: 如果 trueSize 那行正确的话,选取时右边应该要出现预览 08/26 19:11
16F:→ jhnny97: 1.Jcrop没有trueSize这个event 08/26 19:25
18F:→ jhnny97: 2.你要稍微搞清楚JS的scope,中文你可以搜寻变数范围 08/26 19:27
19F:→ ho2002: 文件好像没提到 trueSize 但我有测试过确实是 work 的 08/26 19:38
21F:→ ho2002: 如果拿掉 trueSize 就会以原始比例进行撷取 08/26 19:39
22F:→ ho2002: 感谢第二点建议 我真的对 JS 的变数范围完全不清楚 XD 08/26 19:41
23F:→ jhnny97: 噢对我漏看了 08/26 19:44
24F:→ ho2002: 再请 jhnny97 大大指点一下哪里有错 写JS好头痛阿!!! 08/26 19:47
25F:→ jhnny97: 你看完scope应该就没问题啦,还有你的一二行没有 ; 08/26 19:54
26F:→ ho2002: 感谢p大和j大指点 有试出来了QQ 但语法还是好难理解阿 XD 08/26 20:11