透過網頁讀取PSD後,依圖層輸出PNG檔案
在前面介紹過網頁可以讀取PSD檔案並擷取到該檔案的資訊,接著我們會希望能透過網頁上傳PSD檔之後,依照圖層來輸出圖片,同樣是利用PSD.js來輔助進行,可以透過我們製作的範例頁面來進行輸出測試。
預設輸出效果
透過PSD.js可將PSD內的各圖層輸出成PNG圖檔,亦可轉成Base 64圖檔格式,惟輸出時每個圖檔的尺寸並不會根據整體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 PSD here</p> </div> <div id="image"></div> <pre id="data"></pre> <script type="text/javascript"> (function () { const 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) { for (var i = 0; i < psd.layers.length; i ++){ document.getElementById('image').appendChild(psd.layers[i].image.toPng()); } }); } }()); </script> </body> </html>
依照整體PSD配置進行輸出
我們希望讓每個圖片在輸出後能保時相同的尺寸,也就是依照PSD的畫布大小來輸出每一張圖檔,但在原生PSD.js中並不具備這樣的功能,於是我們透過下述的方式來達成:
- 擷取PSD資訊並將圖檔轉為Base 64格式
- 產生與PSD尺寸大小相同的HTML Canvas
- 將產生的Base 64圖檔,依照原始位置放入Canvas中
- 將Canvas轉成PNG圖檔




可以參考我們製作的範例頁面
<!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 PSD here</p> </div> <div id="image"></div> <pre id="data"></pre> <script type="text/javascript"> (function () { const 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) { const PSDWidth = psd.tree().width; const PSDHeight = psd.tree().height; for (var i = 0; i < psd.layers.length; i ++){ const img = new Image(); img.src = psd.layers[i].image.toBase64(); console.log(psd); const layerWidth = psd.layers[i].width; const layerHeight = psd.layers[i].height; const layerLeft = psd.layers[i].left; const layerTop = psd.layers[i].top; const canvas = document.createElement("canvas"); canvas.setAttribute('class', "canvas"); canvas.width = PSDWidth; canvas.height = PSDHeight; console.log("canvas :", canvas); img.onload = function(){ canvas.getContext("2d").drawImage(img, layerLeft, layerTop, layerWidth, layerHeight); document.getElementById('image').appendChild(canvas); } } }); } }()); </script> </body> </html>
PSD檔案輸出限制
1. 無法輸出帶有效果的圖片
在PSD中我們可能會針對圖層套用一些效果,例如:陰影、光暈、筆畫…等等,但在輸出後的圖檔將不會帶有這些效果。



解決方法:透過點陣化圖層效果,即可輸出相對應的圖檔。
2. 無法輸出帶有遮色片效果的圖片



解決方法:將圖層轉為智慧型物件,即可輸出相對應的圖檔。
3. 無法依圖層混合模式輸出圖片






解決方法:無法解決
usa canada pharm: USACanadaPharm – USACanadaPharm
мостбет кг мостбет кг .
melbet kg https://melbet1003.ru/ .
canadapharmacyonline legit: canada pharmacy online legit – pharmacy wholesalers canada
darknet market lists darknet drug store
USACanadaPharm: my canadian pharmacy review – canadian pharmacy ratings
Купить документ института вы имеете возможность у нас в Москве. Мы оказываем услуги по продаже документов об окончании любых университетов Российской Федерации. Вы получите диплом по любым специальностям, любого года выпуска, в том числе документы СССР. Даем 100% гарантию, что в случае проверки документов работодателями, подозрений не появится. vacshidiplom.com/kupite-diplom-s-zaneseniem-v-reestr-rossii-legko-i-bistro/
Добрый день!
Мы готовы предложить дипломы психологов, юристов, экономистов и любых других профессий по приятным ценам. Стоимость будет зависеть от выбранной специальности, года выпуска и образовательного учреждения: п»їtutdiploms.com/
Где заказать диплом специалиста?
Мы изготавливаем дипломы любой профессии по приятным ценам. Важно, чтобы документы были доступными для большинства граждан. Заказать диплом любого института kupit-diplom24.com/kupit-diplom-menedzhera-s-zaneseniem-v-reestr-21/
мостбет промокод https://www.mostbet5010.ru .
Приобрести диплом института по доступной стоимости вы сможете, обращаясь к проверенной специализированной компании. Мы готовы предложить документы учебных заведений, расположенных на территории всей Российской Федерации. skvortsy.listbb.ru/viewtopic.phpf=31&t=3287
darkmarket url darknet drug market
Здравствуйте!
Для некоторых людей, приобрести диплом о высшем образовании – это необходимость, удачный шанс получить достойную работу. Впрочем для кого-то – это очевидное желание не терять время на учебу в ВУЗе. Что бы ни толкнуло вас на такой шаг, наша фирма готова помочь вам. Быстро, профессионально и выгодно изготовим диплом любого ВУЗа и года выпуска на государственных бланках с реальными подписями и печатями.
Главная причина, почему многие люди покупают документы, – желание занять определенную работу. Допустим, знания дают возможность кандидату устроиться на работу, однако подтверждения квалификации не имеется. В том случае если для работодателя важно наличие “корочек”, риск потерять хорошее место очень высокий.
Купить документ о получении высшего образования можно в нашей компании в столице. Мы предлагаем документы об окончании любых ВУЗов России. Вы сможете получить необходимый диплом по любой специальности, любого года выпуска, в том числе документы Советского Союза. Гарантируем, что в случае проверки документов работодателем, подозрений не возникнет.
Ситуаций, которые вынуждают купить диплом немало. Кому-то очень срочно нужна работа, таким образом необходимо произвести особое впечатление на начальство на протяжении собеседования. Другие планируют попасть в престижную компанию, чтобы повысить собственный статус и в будущем начать собственное дело. Чтобы не тратить массу времени, а сразу начинать эффективную карьеру, применяя имеющиеся знания, можно заказать диплом в онлайне. Вы сможете быть полезным в обществе, получите финансовую стабильность в кратчайший срок- купить диплом о среднем образовании
1 win mexico 1win1008.top .
Приобрести диплом академии !
Приобретение диплома ВУЗа России у нас является надежным процессом, потому что документ заносится в реестр. Заказать диплом любого университета diplomk-v-krasnodare.ru/kupit-diplom-s-zaneseniem-v-reestr-tsena-7
Будучи студентом, я наслаждался учебой до тех пор, пока не пришло время писать диплом. Но паниковать не стоило, ведь существуют компании, которые помогают с написанием и защитой диплома на отличные оценки!
Изначально я искал информацию по теме: купить высшее диплом нижнем новгороде, купить диплом в калуге, купить диплом врача с реестром, купить диплом высшее в кирове, купить диплом высшее образование нижний новгород, затем наткнулся на diplomybox.com/kupit-diplom-tekhnikuma-kolledzha-v-krasnoyarske
Мы изготавливаем дипломы любой профессии по доступным тарифам.
Вы покупаете диплом через надежную компанию. Приобрести диплом о высшем образовании– http://homes-for-homeless-children.mn.co/posts/82424251/ – homes-for-homeless-children.mn.co/posts/82424251
prescription drugs canada buy online: USACanadaPharm – usa canada pharm
darknet markets links darknet websites
canadian pharmacy 24h com safe usa canada pharm pharmacy in canada
https://usacanadapharm.com/# usa canada pharm
1win casino https://1win1008.top/ .
1win букмекер https://www.1win7008.ru .
dark web marketplaces dark web markets
http://usacanadapharm.com/# USACanadaPharm
canadian pharmacies that deliver to the us canadian pharmacy review safe canadian pharmacy
Мы готовы предложить дипломы любой профессии по приятным тарифам.– diplomservis.com/kupit-diplom-s-zaneseniem-v-reestr-forum-2/
https://usacanadapharm.shop/# real canadian pharmacy
darknet drug market darknet links
canadian pharmacy canadian valley pharmacy canada pharmacy world