透過網頁讀取Photoshop PSD檔案內容
在專案中有需要透過網頁來讀取Photoshop PSD檔案的內部資訊,我們透過PSD.js(備用載點)來實現這樣的功能,在官方提供的功能展示頁中,我們可以看到在頁面中只需引入psd.min.js後,加入透過少量的Javascript就可以針對PSD進行解析。
<!DOCTYPE html> <html> <head> <title>psd.js image example</title> <style type="text/css"> body, html { padding: 0; margin: 0; } #dropzone { width: 500px; height: 100px; border: 1px #ababab dashed; margin: 50px auto; } #dropzone p { text-align: center; line-height: 100px; margin: 0; padding: 0; } #image { text-align: center; } </style> <script type="text/javascript" src="psd.min.js"></script> </head> <body> <div id="dropzone"> <p>Drop here</p> </div> <div id="image"></div> <pre id="data"></pre> <script type="text/javascript"> (function () { var PSD = require('psd'); document.getElementById('dropzone').addEventListener('dragover', onDragOver, true); document.getElementById('dropzone').addEventListener('drop', onDrop, true); function onDragOver(e) { e.stopPropagation(); e.preventDefault(); e.dataTransfer.dropEffect = 'copy'; } function onDrop(e) { e.stopPropagation(); e.preventDefault(); PSD.fromEvent(e).then(function (psd) { var data = JSON.stringify(psd.tree().export(), undefined, 2); document.getElementById('data').innerHTML = data; document.getElementById('image').appendChild(psd.image.toPng()); }); } }()); </script> </body> </html>
我們透過下圖這樣的一個PSD檔案對頁面進行測試,檔案中共有三個圖層,包含一個文字圖層。
頁面將PSD分析出結果後,以json格式顯示在頁面上,可以看到文字圖層的部分,不僅能讀到圖層名稱也包含文字內容和字型名稱。
{ "children": [ { "type": "layer", "visible": true, "opacity": 1, "blendingMode": "normal", "name": "Photoshop Text", "left": 302, "right": 723, "top": 90, "bottom": 128, "height": 38, "width": 421, "mask": {}, "text": { "value": "THIS IS TEXT LAYER", "font": { "name": "MyriadPro-Regular\u0000", "sizes": [ 53 ], "colors": [ [ 0, 0, 0, 255 ] ], "alignment": [ "center" ] }, "left": 0, "top": 0, "right": 0, "bottom": 0, "transform": { "xx": 1, "xy": 0, "yx": 0, "yy": 1, "tx": 513, "ty": 127 } }, "image": {} }, { "type": "layer", "visible": true, "opacity": 1, "blendingMode": "normal", "name": "PSD Icon", "left": 287, "right": 738, "top": 209, "bottom": 669, "height": 460, "width": 451, "mask": {}, "image": {} }, { "type": "layer", "visible": true, "opacity": 1, "blendingMode": "normal", "name": "Background", "left": 0, "right": 1024, "top": 0, "bottom": 800, "height": 800, "width": 1024, "mask": {}, "image": {} } ], "document": { "width": 1024, "height": 800, "resources": { "layerComps": [], "guides": [], "slices": [] } } }
https://indianph.com/# top online pharmacy india
india pharmacy mail order
http://indianph.com/# online shopping pharmacy india
mail order pharmacy india
cheapest online pharmacy india buy prescription drugs from india india online pharmacy
indian pharmacy paypal indianpharmacy com cheapest online pharmacy india
https://indianph.com/# india online pharmacy
indian pharmacy paypal
https://indianph.xyz/# top 10 online pharmacy in india
buy prescription drugs from india
http://indianph.com/# buy prescription drugs from india
legitimate online pharmacies india
http://indianph.xyz/# pharmacy website india
legitimate online pharmacies india
https://indianph.com/# best online pharmacy india
http://indianph.com/# online pharmacy india
reputable indian online pharmacy indian pharmacy online top online pharmacy india
online shopping pharmacy india indian pharmacy online pharmacy india
reputable indian pharmacies world pharmacy india world pharmacy india
https://indianph.com/# online pharmacy india
buy medicines online in india
http://indianph.com/# world pharmacy india
legitimate online pharmacies india
https://hidehost.net/
indian pharmacies safe best india pharmacy online pharmacy india
https://indianph.com/# pharmacy website india
top 10 online pharmacy in india
http://indianph.xyz/# mail order pharmacy india
india pharmacy mail order
online shopping pharmacy india india online pharmacy india pharmacy
Great site! I recommend to everyone!ClubGG
order domperidone 10mg without prescription purchase domperidone online buy sumycin 500mg generic
amoxicillin make you tired
omeprazole 10mg uk omeprazole buy online prilosec to treat heartburn
zithromax tripack
para que sirve la cephalexin
Great site! I recommend to everyone!PokerBROS
furosemida 40 mg: Buy Lasix – lasix medication
http://lisinopril.top/# prinivil 2.5 mg
https://stromectol.fun/# stromectol lotion