Ajax 板


LINE

請教各位前輩 我想作一個功能: 點一個"匯出"按鈕,就能把svg匯出成jpg或png之類的圖片檔 目前已作到,將svg轉成img tag 但不知如何把img弄成"另存新檔"的視窗,供使用者下載 在網路上有找到"FileSaver"套件,但這個似乎沒有提供img --



※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 58.99.73.122
※ 文章網址: http://webptt.com/m.aspx?n=bbs/Ajax/M.1405688969.A.320.html
1F:→ mmis1000:沒辦法取到blob嗎?或是用一個a,在上面加上download屬性 07/18 22:57
2F:→ mmis1000:讓使用者自己點 07/18 22:58
3F:→ fr730149:有取到blob 07/18 23:06
網路上找到的SVG轉IMG範圍 http://0rz.tw/5XNZW 其中就有用到blob 但我在 var blob = new Blob([svgData], { type: "image/svg+xml;charset=utf-8" }); 這行之後加上 saveAs(blob, "pretty image.png"); 下載圖片後是空白的… ※ 編輯: fr730149 (58.99.73.122), 07/18/2014 23:17:16
4F:→ mmis1000:是否能找個地方,把目前的code po出來?像 jsbin.com 07/19 13:35
http://jsfiddle.net/qaMs5/ chart(svg檔)的部份是用componentOne Chat的套件 script 71行 是svg轉img的語法 我的想法是按頁面上的button,就能直接把chart匯出來。 但目前只能作到,按button後把svg轉img… ※ 編輯: fr730149 (58.99.73.122), 07/19/2014 15:22:46
5F:→ mmis1000:就只是讀取順序問題,ToImg重頭到尾都沒被呼叫到 07/19 15:51
這個就奇怪了,同樣的寫法…在localhost就可以work 或許是$.fn.toImage = function () {...這一段,我在localhost是用引入js檔方式 只要跑上面那一段,就可以把svg tag轉成img tag,只不過在jsfiddle上不能運作
6F:→ mmis1000:http://jsfiddle.net/qaMs5/2/ 你說有轉換成功是錯覺吧? 07/19 15:52
先輩的寫法是把它save as svg,不知是否可改成save as png/jpg?
7F:→ mmis1000:然後一片空白貌似是ie的問題 07/19 16:03
Blob我記得似乎止支援IE10+ 不知道是否可用非Blob的方式把svg匯出來…
8F:→ mmis1000:不知為何,它生成的svg標籤有2個 xmlns,導致讀取錯誤 07/19 16:08
最後,非常感謝您的解答 ※ 編輯: fr730149 (58.99.73.122), 07/19/2014 17:30:45
9F:→ mmis1000:jsfiddle的code預設是插在onload裡,所以那種寫法穩死 07/19 19:39
10F:→ mmis1000:除了blob外,就算不支援也可以用data uri scheme輸出 07/19 19:44
11F:→ mmis1000:缺點是不支援自訂檔名 07/19 19:45
12F:→ mmis1000:至於轉png,可以透過canvas的 .toDataURL(); 達成 07/19 19:46
13F:→ mmis1000:http://jsbin.com/fobev/1/edit data uri scheme的範例 07/19 19:54
14F:→ mmis1000:但ie沒辦法在客戶端轉圖片,因為 http://goo.gl/kaY2KP 07/19 21:25
15F:→ mmis1000:不知為何他連data URL的網址都擋。 07/19 21:26
16F:→ mmis1000:真的要支援ie建議還是用伺服器端支援,ie的問題太多了... 07/19 21:27
17F:→ mmis1000:轉jpg的範例 07/19 21:31
18F:→ mmis1000:http://jsfiddle.net/qaMs5/7/ 07/19 21:31







like.gif 您可能會有興趣的文章
icon.png[問題/行為] 貓晚上進房間會不會有憋尿問題
icon.pngRe: [閒聊] 選了錯誤的女孩成為魔法少女 XDDDDDDDDDD
icon.png[正妹] 瑞典 一張
icon.png[心得] EMS高領長版毛衣.墨小樓MC1002
icon.png[分享] 丹龍隔熱紙GE55+33+22
icon.png[問題] 清洗洗衣機
icon.png[尋物] 窗台下的空間
icon.png[閒聊] 双極の女神1 木魔爵
icon.png[售車] 新竹 1997 march 1297cc 白色 四門
icon.png[討論] 能從照片感受到攝影者心情嗎
icon.png[狂賀] 賀賀賀賀 賀!島村卯月!總選舉NO.1
icon.png[難過] 羨慕白皮膚的女生
icon.png閱讀文章
icon.png[黑特]
icon.png[問題] SBK S1安裝於安全帽位置
icon.png[分享] 舊woo100絕版開箱!!
icon.pngRe: [無言] 關於小包衛生紙
icon.png[開箱] E5-2683V3 RX480Strix 快睿C1 簡單測試
icon.png[心得] 蒼の海賊龍 地獄 執行者16PT
icon.png[售車] 1999年Virage iO 1.8EXi
icon.png[心得] 挑戰33 LV10 獅子座pt solo
icon.png[閒聊] 手把手教你不被桶之新手主購教學
icon.png[分享] Civic Type R 量產版官方照無預警流出
icon.png[售車] Golf 4 2.0 銀色 自排
icon.png[出售] Graco提籃汽座(有底座)2000元誠可議
icon.png[問題] 請問補牙材質掉了還能再補嗎?(台中半年內
icon.png[問題] 44th 單曲 生寫竟然都給重複的啊啊!
icon.png[心得] 華南紅卡/icash 核卡
icon.png[問題] 拔牙矯正這樣正常嗎
icon.png[贈送] 老莫高業 初業 102年版
icon.png[情報] 三大行動支付 本季掀戰火
icon.png[寶寶] 博客來Amos水蠟筆5/1特價五折
icon.pngRe: [心得] 新鮮人一些面試分享
icon.png[心得] 蒼の海賊龍 地獄 麒麟25PT
icon.pngRe: [閒聊] (君の名は。雷慎入) 君名二創漫畫翻譯
icon.pngRe: [閒聊] OGN中場影片:失蹤人口局 (英文字幕)
icon.png[問題] 台灣大哥大4G訊號差
icon.png[出售] [全國]全新千尋侘草LED燈, 水草

請輸入看板名稱,例如:BabyMother站內搜尋

TOP