透過網頁讀取PSD後,依圖層輸出PNG檔案
在前面介紹過網頁可以讀取PSD檔案並擷取到該檔案的資訊,接著我們會希望能透過網頁上傳PSD檔之後,依照圖層來輸出圖片,同樣是利用PSD.js來輔助進行,可以透過我們製作的範例頁面來進行輸出測試。
預設輸出效果
透過PSD.js可將PSD內的各圖層輸出成PNG圖檔,亦可轉成Base 64圖檔格式,惟輸出時每個圖檔的尺寸並不會根據整體PSD檔大小來配置。
![](https://cloudlab.tw/wp/wp-content/uploads/2020/04/layout4.png)
![](https://cloudlab.tw/wp/wp-content/uploads/2020/04/layer1.png)
![](https://cloudlab.tw/wp/wp-content/uploads/2020/04/2-1.png)
![](https://cloudlab.tw/wp/wp-content/uploads/2020/04/3-1.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) { 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圖檔
![](https://cloudlab.tw/wp/wp-content/uploads/2020/04/layout4.png)
![](https://cloudlab.tw/wp/wp-content/uploads/2020/04/1-1.png)
![](https://cloudlab.tw/wp/wp-content/uploads/2020/04/2-2.png)
![](https://cloudlab.tw/wp/wp-content/uploads/2020/04/3-1.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中我們可能會針對圖層套用一些效果,例如:陰影、光暈、筆畫…等等,但在輸出後的圖檔將不會帶有這些效果。
![](https://cloudlab.tw/wp/wp-content/uploads/2020/04/layer-1.png)
![](https://cloudlab.tw/wp/wp-content/uploads/2020/04/before-1-320x320-1.png)
![](https://cloudlab.tw/wp/wp-content/uploads/2020/04/unnamed-file.png)
解決方法:透過點陣化圖層效果,即可輸出相對應的圖檔。
2. 無法輸出帶有遮色片效果的圖片
![](https://cloudlab.tw/wp/wp-content/uploads/2020/04/layer2.png)
![](https://cloudlab.tw/wp/wp-content/uploads/2020/04/before1-1.png)
![](https://cloudlab.tw/wp/wp-content/uploads/2020/04/unnamed-file.png)
解決方法:將圖層轉為智慧型物件,即可輸出相對應的圖檔。
3. 無法依圖層混合模式輸出圖片
![](https://cloudlab.tw/wp/wp-content/uploads/2020/04/layer3.png)
![](https://cloudlab.tw/wp/wp-content/uploads/2020/04/before2.png)
![](https://cloudlab.tw/wp/wp-content/uploads/2020/04/1-320x320-1.png)
![](https://cloudlab.tw/wp/wp-content/uploads/2020/04/layer1-1.png)
![](https://cloudlab.tw/wp/wp-content/uploads/2020/04/2-1-1.png)
![](https://cloudlab.tw/wp/wp-content/uploads/2020/04/3-1.png)
解決方法:無法解決
http://slot88.company/# Kasino memastikan keamanan para pemain dengan baik
Con la última actualización de LinkedIn, las páginas de empresa son más interactivas y accesibles. La mensajería en las páginas de LinkedIn, una función que antes estaba en fase beta, ya está totalmente implantada, lo que permite a las empresas entablar conversaciones directas con su público. Este nuevo canal abre una vía ágil para que los clientes conecten con las empresas, evitando métodos tradicionales como el correo electrónico o las llamadas. ¿Cuál es el resultado? Una forma más inmediata y personal de generar confianza y clientes potenciales de calidad. Según la imagen publicada por Paluzzi, los usuarios que superen el máximo de mensajes directos enviados por día recibirán una notificación en la que se lee: “Obtén la verificación para enviar más mensajes. Has alcanzado el límite máximo de mensajes directos que puedes enviar en un día. Suscríbete a Twitter Blue para continuar enviando”. El mensaje llegará con dos botones de acción que permitirán a los usuarios iniciar el proceso para suscribirse a Twitter Blue o, bien, rechazar la propuesta.
https://city-wiki.win/index.php?title=Como_se_consigue_el_verificado_en_instagram
TikTok no cobra ninguna cantidad por otorgar verificaciones a las cuentas tanto personales como de marca. Si te encuentras con un enlace que te pide un pago por conseguir azul es falso, no está afiliado a TikTok. Para recibir pagos de TikTok Shop, debes conectar una cuenta bancaria en el Centro de vendedores de TikTok. Para obtener más información, consulta How to change my payment account information? (¿Cómo cambiar la información de mi cuenta de pago?) en TikTok Shop Academy. TikTok es la red social más pujante. Ahora, la compañía planea lanzar TikTok Shop en varios países europeos, incluido España. Actualmente TikTok es la red social que está rompiendo récords: con más de 500 millones de usuarios y con contenidos que tienen un gran alcance en muy poco tiempo. Si bien TikTok empezó siendo una plataforma que parecía destinada a un público objetivo muy joven y dedicado a generar videos de 15 segundos relacionados a la música; en los usuarios de hoy podemos encontrar cuentas muy diversas y un público mucho más amplio. Por esta razón muchos colegas que se dedican a los negocios inmobiliarios están invirtiendo su tiempo en TikTok.
slot88 slot88 Slot menjadi bagian penting dari industri kasino
Slot dengan fitur interaktif semakin banyak tersedia https://preman69.tech/# Slot menawarkan kesenangan yang mudah diakses
preman69.tech preman69.tech Jackpot progresif menarik banyak pemain
Slot klasik tetap menjadi favorit banyak orang: garuda888 slot – garuda888 slot
Mesin slot sering diperbarui dengan game baru: garuda888 – garuda888
Wooden Window Repairs Near Me Tools To Streamline Your Daily Lifethe One Wooden Window Repairs Near Me
Trick That Everybody Should Know wooden window repairs near Me
Предлагаем услуги профессиональных инженеров офицальной мастерской.
Еслли вы искали ремонт фотоаппаратов canon в москве, можете посмотреть на сайте: ремонт фотоаппаратов canon цены
Наши мастера оперативно устранят неисправности вашего устройства в сервисе или с выездом на дом!
http://slotdemo.auction/# Mesin slot sering diperbarui dengan game baru
https://slot88.company/# Slot dengan pembayaran tinggi selalu diminati
Kasino di Jakarta memiliki berbagai pilihan permainan: preman69.tech – preman69
Pemain sering berbagi tips untuk menang http://garuda888.top/# Kasino sering memberikan hadiah untuk pemain setia
https://garuda888.top/# Kasino sering mengadakan turnamen slot menarik
Banyak kasino memiliki promosi untuk slot: preman69 – preman69.tech
Carrie Underwood slated to perform at Trump’s inauguration
kraken сайт
Country music star Carrie Underwood is slated to perform “America the Beautiful” at President-elect Donald Trump’s inauguration, according to a copy of the program obtained by CNN and confirmed by a spokesperson for the inaugural committee.
“I love our country and am honored to have been asked to sing at the Inauguration and to be a small part of this historic event,” Underwood said in a statement to CNN. “I am humbled to answer the call at a time when we must all come together in the spirit of unity and looking to the future.”
The presidential oath of office will be administered by Supreme Court Chief Justice John Roberts with Justice Brett Kavanaugh expected to administer the oath of office to Vice President-elect JD Vance.
Trump’s inauguration as the 47th president of the United States will take place on January 20 at the US Capitol.
Underwood is a big get for Trump’s inauguration, considering Hollywood’s Trump blackout over the course of his political career.
In his first term and throughout the past three elections, Trump has struggled to garner support from major Hollywood stars. At the Republican National Convention last year, the two biggest stars onstage with Trump were musician Kid Rock and retired WWE wrestler Hulk Hogan – a far cry from a superstar at the height of their career, like Underwood.
The Grammy-winning artist is as high-profile as you can get in country music, not only with numerous platinum hits, but also with public-facing, mainstream business associations. Underwood is the face of Sunday Night Football and is set to make her debut this March as a judge on ABC’s “American Idol” – the singing competition show that catapulted her to fame when she won in 2005.
While many NFL fans will likely applaud Underwood for singing at the inauguration, any time a celebrity aligns themselves with Trump, they run the risk of alienating left-leaning fans and Hollywood allies.
Underwood has kept her politics under wraps over the course of her career. In her statement, she did not mention Trump by name and kept her focus on unifying the country – still, Underwood’s decision to publicly align with Trump is a big statement for any star, particularly one as private as the singer.
Historically, Hollywood has always been closely associated with the Democratic Party, but country stars have always been an outlier, leaning more conservative. In recent years, as new singers join the genre, country music has gotten to be more progressive. This past election cycle, country stars like Mickey Guyton and Maren Morris stood with Vice President Kamala Harris.
garuda888 garuda888.top Kasino di Indonesia menyediakan hiburan yang beragam
https://garuda888.top/# Slot menjadi daya tarik utama di kasino
Предлагаем услуги профессиональных инженеров офицальной мастерской.
Еслли вы искали ремонт фотоаппаратов canon в москве, можете посмотреть на сайте: ремонт фотоаппаратов canon сервис
Наши мастера оперативно устранят неисправности вашего устройства в сервисе или с выездом на дом!
Slot dengan tema budaya lokal menarik perhatian: preman69 slot – preman69
https://slot88.company/# Banyak kasino memiliki program loyalitas untuk pemain
demo slot pg slot demo Kasino sering memberikan hadiah untuk pemain setia
Slot menjadi daya tarik utama di kasino: garuda888 – garuda888
Kasino menyediakan layanan pelanggan yang baik http://preman69.tech/# Mesin slot menawarkan pengalaman bermain yang cepat
Permainan slot bisa dimainkan dengan berbagai taruhan https://bonaslot.site/# Mesin slot sering diperbarui dengan game baru
Permainan slot bisa dimainkan dengan berbagai taruhan https://slotdemo.auction/# Mesin slot dapat dimainkan dalam berbagai bahasa
http://preman69.tech/# Mesin slot sering diperbarui dengan game baru
Mesin slot menawarkan pengalaman bermain yang cepat http://preman69.tech/# п»їKasino di Indonesia sangat populer di kalangan wisatawan
garuda888 garuda888 Slot dengan tema budaya lokal menarik perhatian
Kasino sering mengadakan turnamen slot menarik: garuda888 – garuda888 slot