透過網頁讀取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://hidehost.net/
buy prednisone online no script buy prednisone without prescription paypal prednisone 20 tablet
order amoxicillin no prescription order amoxicillin no prescription order amoxicillin uk
Great site! I recommend to everyone!PPPoker
http://buyprednisone.store/# prednisone without prescription medication
lisinopril 20mg tablets price: zestril 10 mg price in india – lisinopril 10 mg order online
https://stromectol.fun/# ivermectin usa price
20 mg of prednisone: prednisone brand name in usa – buy prednisone online no script
prednisone 20mg online pharmacy: buy prednisone 1 mg mexico – prednisone 5 mg tablet cost
оптимизация сайта недорого
https://buyprednisone.store/# generic prednisone for sale
https://stromectol.fun/# where to buy ivermectin
buy lasix online: Buy Lasix – lasix
https://hidehost.net/
crestor pills ezetimibe online zetia 10mg brand
amoxicillin 500 mg tablets amoxicillin 500 mg buy amoxicillin 500mg usa
amoxicillin 500mg over the counter amoxil generic amoxicillin 500mg capsule buy online
furosemide 100mg: Over The Counter Lasix – lasix 100 mg tablet
https://stromectol.fun/# ivermectin cost in usa
http://stromectol.fun/# stromectol brand
https://stromectol.fun/# buy ivermectin cream
https://lisinopril.top/# zestril 2.5 mg tablets
cheap prinivil prinivil cheap order zestril generic
prednisone 5 mg cheapest: how can i get prednisone – prednisone uk price
how much is amoxicillin: amoxicillin online without prescription – antibiotic amoxicillin
https://buyprednisone.store/# prednisone 20 mg tablets coupon
https://lisinopril.top/# lisinopril buy in canada
amoxicillin 500mg no prescription: amoxicillin medicine over the counter – amoxicillin 500 mg without prescription
https://stromectol.fun/# stromectol price
lisinopril 40 mg india lisinopril 20 mg canadian pharmacy 3 lisinopril