透過網頁讀取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. 無法依圖層混合模式輸出圖片
解決方法:無法解決
Five Killer Quora Answers To Get Diagnosed With ADHD cheap adhd diagnosis uk
5 Killer Quora Answers To Accident Lawyers Near Me Accident lawyers near me
10 Things That Everyone Doesn’t Get Right Concerning ADHD Adults Test adhd adults Online test
10 Sites To Help You Be A Pro In ADD Symptoms In Women adhd in Adult men symptoms
9 Signs That You’re A Obstetric Malpractice Lawyer Expert lawyer near
me injury (https://dokuwiki.stream)
поддельный аттестат купить
FTP Software Lab is a premier informational resource dedicated to the FTP protocol, its ftp commands, ftp clients, ftp related technologies, and current news. We provide a comprehensive guide to understanding and utilizing FTP for secure and dependable file transfers, exploring the various aspects of this essential protocol. FTP lab features detailed insights into a range of FTP client software options, helping you choose the best tools to manage your ftp file transfers efficiently, from effortlessly ftp uploading data to reliably ftp downloading files from ftp servers. Discover the capabilities of intuitive ftp features such as drag-and-drop functionality, and how robust directory ftp synchronization ensures that your local and remote files are consistent. We delve into the technical aspects, explaining secure transfer protocols like SFTP and FTPS, which provide crucial data protection during ftp transmission. Stay up-to-date with the latest innovations in FTP technologies and gain a deeper understanding of this essential ftp protocol through our constantly updated content. We are also committed to keeping you informed about the most relevant news and trends impacting the FTP landscape.
https://ftplab.com/ – ftp archive
Форум предназначен для обсуждения вопросов, связанных с видеонаблюдением и безопасностью. Участники могут делиться информацией и опытом в области программного обеспечения для видеонаблюдения на ПК, совместимого с IP-камерами. Рассматриваются комплексные решения, VMS, CMS, а также технологии AHD и IP. Обсуждаются вопросы настройки, восстановления паролей камер, и применения ИИ-видеоаналитики. Отдельное внимание уделено применению интегрированной видеоаналитики на основе искусственного интеллекта, включая обнаружение объектов, распознавание автомобильных номеров и лиц, а также выявление признаков дыма и огня. Форум является площадкой для обмена знаниями и обсуждения актуальных тем в области видеонаблюдения. Здесь пользователи могут делиться своим опытом, задавать вопросы и находить решения для своих задач. Форум служит платформой для обмена знаниями и поиска решений в сфере видеонаблюдения.
https://securityvideo.ru/ – программа для просмотра видео с камер наблюдения
купить диплом в иркутске
How To Make An Amazing Instagram Video About Shower Screen Replacement Seal
Double Pane Window Seal Repair
15 Funny People Working In Electric Assist Scooters In Electric
Assist Scooters lightweight mobility electric scooter
20 Insightful Quotes On Mesothelioma Asbestos Lawyer mesothelioma attorneys (Charley)
What Is Gas Safety Certificate And Boiler Service’s
History? History Of Gas Safety Certificate And Boiler Service what is gas Safety certificate
Where Can You Get The Top Audi A1 Key Information? programming audi key (metooo.es)
What Freud Can Teach Us About Replacement Windows Bristol
double glazing window Companies bristol
Do Not Buy Into These “Trends” About Asbestos Attorney Mesothelioma Mesothelioma Lawsuit
What To Look For To Determine If You’re Prepared For Chiminea Indoor ceramic chiminea – https://nowbookmarks.com/Story18119229/the-best-chiminea-for-sale-techniques-to-change-your-life,
п»їlegitimate online pharmacies india: Indian Cert Pharm – Online medicine
Why You Should Concentrate On Enhancing Pram pram Store near me
What Birth Injury Law Consultation Will Be Your Next Big Obsession attorneys Injurys; Zenwriting.net,
buying prescription drugs in mexico: Mexican Easy Pharm – Mexican Easy Pharm
7 Simple Tricks To Rolling With Your Buy A Driving License prawo jazdy kupno (foldager-ayers.blogbright.net)
It’s The Perfect Time To Broaden Your Tilt And Turn Window Hinge Covers Options
tilt And turn windows and doors
Five Buy A Driving License Projects To Use For Any Budget deutschland für den kauf eines führerscheins (Valarie)
5 Reasons Asbestos Cancer Law Lawyer Mesothelioma Settlement Is
Actually A Positive Thing Mesothelioma attorneys
Guide To Lawyer Injury Accident: The Intermediate Guide For Lawyer Injury Accident lawyer injury, https://bathturret07.bravejournal.Net,
You’ll Never Guess This Fascia Board Repair Near Me’s Tricks fascia board Repair near Me
10 Of The Top Mobile Apps To Use For Best Fridge Freezer Top Refrigerator brands
10 Tips For Getting The Most Value From Asbestos Attorney Mesothelioma mesothelioma lawsuits (Kandis)
10 Misconceptions Your Boss Shares About Northern Containers Portable Containers