透過網頁讀取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": [] } } }
ciprofloxacin 500mg buy online ciprofloxacin generic price
ciprofloxacin over the counter ciprofloxacin generic
order levaquin 500mg generic – order cialis generic order tadalafil 5mg online cheap
Beneficial Blog! I had been simply just debating that there are plenty of screwy results at this issue you now purely replaced my personal belief. Thank you an excellent write-up.
cost neurontin
https://diflucan.icu/# medication diflucan price
https://withoutprescription.store/# canadian drug pharmacy
cipro 500mg best prices ciprofloxacin mail online
https://cipro.best/# buy cipro
neurontin tablets uk neurontin 800 mg tablets
diflucan cream over the counter diflucan generic brand
Hey, you used to write magnificent, but the last several posts have been kinda boring… I miss your great writings. Past few posts are just a little bit out of track! come on!
diflucan 6 buy cheap diflucan online
buy cozaar 25mg online – purchase promethazine generic phenergan sale
diflucan men 150 mg diflucan online
https://diflucan.icu/# diflucan generic cost
order cozaar 50mg online cheap – buy phenergan online buy promethazine 25mg pill
https://diflucan.icu/# diflucan rx coupon
Thanks for your patience and sorry for the inconvenience!
neurontin 600 mg coupon neurontin 100 mg cap
https://cipro.best/# buy cipro online
best ed medication erection pills viagra online
https://withoutprescription.store/# cheap pet meds without vet prescription
order losartan 25mg online cheap – esomeprazole brand promethazine 25mg cheap
https://gabapentin.icu/# neurontin cap 300mg
https://withoutprescription.store/# how to get prescription drugs without doctor
neurontin 50 mg neurontin 300 mg pill
order clopidogrel pills – order reglan 20mg pill order reglan 20mg online
generic clopidogrel 150mg – buy coumadin pills order reglan 10mg pill
https://buynolvadex.store/# how to prevent hair loss while on tamoxifen