透過網頁讀取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": [] } } }
ivermectin 3: stromectol 3mg tablets – ivermectin lotion cost
Your blog is a testament to your dedication and expertise. We’re proud fans from Asheville!
over the counter amoxicillin: amoxicillin 500 tablet – where to get amoxicillin over the counter
https://buyprednisone.store/# prednisone pill
https://furosemide.guru/# lasix pills
xenical 60mg usa buy xenical paypal buy diltiazem for sale
lasix 100mg Over The Counter Lasix lasix 100 mg tablet
prednisone 50 mg coupon prednisone 10mg tablet cost buying prednisone mexico
amoxicillin 775 mg: amoxicillin 500mg capsules – amoxicillin script
http://amoxil.cheap/# buying amoxicillin online
https://furosemide.guru/# lasix tablet
prednisone 80 mg daily: order prednisone online no prescription – prednisone 20 mg tablet price
amoxicillin 500mg tablets price in india: amoxicillin 500mg capsules uk – cost of amoxicillin prescription
https://furosemide.guru/# generic lasix
http://buyprednisone.store/# prednisone 40mg
Thank you for enriching our lives with your wonderful blog. Asheville is blessed to have you!
prednisone 20mg buy online: prednisone 20 mg in india – buy prednisone canada
buy prednisone online uk where to buy prednisone without prescription order prednisone online no prescription
stromectol generic name: stromectol 12mg – ivermectin drug
lisinopril 40 mg india lisinopril 20 mg price in india lisinopril 7.5 mg
https://lisinopril.top/# buy lisinopril mexico
glycomet order order glucophage without prescription glucophage 500mg tablet
Great site! I recommend to everyone!top us stocks
https://furosemide.guru/# lasix 100 mg
http://buyprednisone.store/# prednisone 21 pack
stromectol tablets for humans for sale: stromectol cvs – where to buy ivermectin pills
furosemide 100mg: Buy Furosemide – lasix uses
buy amoxicillin online uk: cost of amoxicillin prescription – amoxicillin 500 tablet
https://lisinopril.top/# lisinopril 40 mg prices
https://lisinopril.top/# can you buy lisinopril online