透過網頁讀取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": [] } } }
Do you have a spam problem on this website; I also am a blogger, and I was curious about your situation; we have developed some nice methods and we are looking to exchange strategies with other folks, why not shoot me an email if interested.
https://millionigrushek.ru/
yeni deneme bonusu veren siteler: deneme bonusu veren yeni siteler – yat?r?ms?z deneme bonusu veren siteler
Bookmarking this! The practical advice is something I’ll definitely be coming back to.
guvenilir slot siteleri: slot casino siteleri – en kazancl? slot oyunlar?
guvenilir slot siteleri: slot oyunlar? puf noktalar? – slot oyunlar?
pronet giriЕџ https://sweetbonanza25.com/# sweet bonanza guncel
casino malta
Hi there, its pleasant piece of writing regarding media print, we all know media is a impressive source of facts.
https://millionigrushek.ru/
Hello there, You’ve done an excellent job. I will definitely digg it and personally suggest to my friends. I’m confident they’ll be benefited from this site.
https://millionigrushek.ru/
Howdy I am so glad I found your blog page, I really found you by accident, while I was looking on Aol for something else, Anyhow I am here now and would just like to say thank you for a tremendous post and a all round thrilling blog (I also love the theme/design), I don’t have time to read it all at the minute but I have book-marked it and also added in your RSS feeds, so when I have time I will be back to read more, Please do keep up the excellent jo.
https://millionigrushek.ru/
Just wish to say your article is as astounding. The clearness on your publish is just nice and i can assume you are an expert on this subject. Well along with your permission allow me to grab your feed to stay up to date with approaching post. Thank you one million and please carry on the gratifying work.
https://millionigrushek.ru/
Hi! This is my first comment here so I just wanted to give a quick shout out and tell you I truly enjoy reading your posts. Can you suggest any other blogs/websites/forums that cover the same subjects? Thank you!
https://millionigrushek.ru/
http://slotsiteleri25.com/# slot siteleri
slot oyunlar?: az parayla cok kazandiran slot oyunlar? – slot casino siteleri
I enjoy, lead to I found exactly what I was taking a look for. You’ve ended my four day long hunt! God Bless you man. Have a nice day. Bye
https://millionigrushek.ru/
deneme bonusu veren siteler: yat?r?ms?z deneme bonusu veren siteler – deneme bonusu veren siteler yeni
The grace and authority you handle topics with are as mesmerizing as a moonlit dance. I’m thoroughly impressed.
slot oyunlar? slot oyunlar? guvenilir slot siteleri
I’m gone to tell my little brother, that he should also visit this website on regular basis to get updated from hottest news update.
https://millionigrushek.ru/
The insights have added a lot of value to my understanding. Thanks for sharing.
en kazancl? slot oyunlar? slot casino siteleri slot siteleri
create stamp online free create stamp online free .
deneme bonusu veren siteler: denemebonusuverensiteler25 – deneme bonusu veren siteler
sweet bonanza oyna sweet bonanza demo oyna sweet bonanza slot
stamp maker stamp maker .
купить диплом с занесением в реестр
Homepage https://todoprogramas.com/2024/06/13/misteri-di-balik-master-slot-88-keberuntungan-atau-kebetulan/
диплом в тамбове купить
нижний новгород купить диплом
stamp maker stamp maker .
stamps maker stamps maker .