透過網頁讀取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": [] } } }
lisinopril 10 mg brand name in india lisinopril 10 mg tabs zestril medicine
http://buyprednisone.store/# prednisone 54
amoxicillin 500mg for sale uk: where can i buy amoxicillin over the counter uk – amoxicillin 500 coupon
lasix: Buy Lasix – lasix furosemide 40 mg
http://stromectol.fun/# stromectol tablets uk
http://buyprednisone.store/# prednisone 20mg prices
glucophage pulver
amoxicillin 500 mg online: amoxicillin 500 – amoxicillin 500 mg for sale
where can i get amoxicillin 500 mg: amoxicillin 250 mg capsule – amoxicillin tablet 500mg
http://buyprednisone.store/# cost of prednisone in canada
azithromycin amoxicillin: amoxicillin 500mg without prescription – where can i buy amoxicillin without prec
https://amoxil.cheap/# where to buy amoxicillin 500mg without prescription
prednisone 10 mg tablets prednisone 20 mg prices best pharmacy prednisone
ivermectin price buy ivermectin stromectol ivermectin cost
gabapentin pregnancy
http://stromectol.fun/# where can i buy stromectol
http://lisinopril.top/# lisinopril 2.5 mg
http://buyprednisone.store/# can you buy prednisone over the counter in mexico
http://stromectol.fun/# ivermectin malaria
furosemida 40 mg: furosemide 40 mg – generic lasix
lasix uses: Buy Lasix – lasix 100mg
prednisone 4mg tab: buy 10 mg prednisone – prednisone cost 10mg
http://lisinopril.top/# lisinopril online without a prescription
http://lisinopril.top/# lisinopril 20 mg over the counter
buy zovirax 800mg buy generic allopurinol allopurinol 100mg sale
lisinopril medicine lisinopril 40 mg generic lisinopril 104
prednisone 4mg prednisone pills cost prednisone 50mg cost
lisinopril 80mg: zestril cost – 40 mg lisinopril for sale
lisinopril tabs 4mg: zestril 10 mg price in india – lisinopril hct
https://lisinopril.top/# buy lisinopril online no prescription india