透過網頁讀取PSD後,依圖層輸出PNG檔案

在前面介紹過網頁可以讀取PSD檔案並擷取到該檔案的資訊,接著我們會希望能透過網頁上傳PSD檔之後,依照圖層來輸出圖片,同樣是利用PSD.js來輔助進行,可以透過我們製作的範例頁面來進行輸出測試。

預設輸出效果


透過PSD.js可將PSD內的各圖層輸出成PNG圖檔,亦可轉成Base 64圖檔格式,惟輸出時每個圖檔的尺寸並不會根據整體PSD檔大小來配置。

圖層配置

Layer 1 (421 x 38)
Layer 2 (490 x 479)
Layer 3 (1024 x 800)

<!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中並不具備這樣的功能,於是我們透過下述的方式來達成:

  1. 擷取PSD資訊並將圖檔轉為Base 64格式
  2. 產生與PSD尺寸大小相同的HTML Canvas
  3. 將產生的Base 64圖檔,依照原始位置放入Canvas中
  4. 將Canvas轉成PNG圖檔
圖層配置
Layer 1 (1024 x 800)
Layer 2 (1024 x 800)
Layer 3 (1024 x 800)

可以參考我們製作的範例頁面

<!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. 無法輸出帶有遮色片效果的圖片

圖層設定
Before
After

解決方法:將圖層轉為智慧型物件,即可輸出相對應的圖檔。

3. 無法依圖層混合模式輸出圖片

Layer 1
Layer 2
Layer 3
Layer 4

解決方法:無法解決

You may also like...

46,113 Responses

  1. Their education varied from high school to colleg Most were retired.ラブドール オナニーAlmost all were married,

  2. エロ ラブドールPortions of this post were adapted from The Social Psychology of Attraction and Romantic Relationships.Copyright Madeleine A.

  3. Did you figure out what you like? Whether yes or no,エロ ラブドールcontinue to pleasure yourself (perhaps a few times a week) until you are truly comfortable with touching yourself.

  4. Finished Reading a Blog Post: A Formal Contribution to the Comment
    Section and an Invitation to Join “KING855”

    ‘After diligently perusing the blog post, I would like to submit
    the following response to the thread .

    Your observations concerning the topic were quite engaging .

    I found myself in alignment with many of the
    arguments you articulated.

    It is gratifying to witness such an animated exchange
    taking place .

    If you are inclined in deeper delving into this subject matter
    , I would cordially urge you to become a member of the “KING855”
    platform. There , you will have the opportunity to interact with kindred spirit
    members and delve deeper into these captivating topics .

    I am confident your involvement would be a valuable
    enhancement to the discourse .

    Thank you input , and I anticipate the possibility
    of extending this stimulating conversation.

    Also visit my homepage online casino licensing

  5. JamesVOF表示:

    Воины-пайщики оказались без защиты в тылу
    Пайщики «Бест Вей» — участники СВО готовы защищать свой кооператив
    Владимир Колокольцев
    Многие пайщики кооператива «Бест Вей» и те, в чьих интересах приобретаются квартиры в кооперативе, — участники СВО. И они сами, и их родственники возмущены событиями, происходящими вокруг кооператива. Ведь защищая интересы страны на фронте, в тылу они не защищены от того, что не могут приобрести недвижимость из-за того, что счета кооператива с почти 4 млрд рублей уже более двух лет находятся под арестом — притом, что сумма ущерба по уголовному делу, рассматриваемому Приморским районным судом Санкт-Петербурга, согласно обвинительному заключению, составляет 282 млн рублей.

    «Надеемся, новое руководство Министерства обороны поможет урегулировать ситуацию»

    Наталья Пригаро, мать пайщика кооператива — участника СВО из Нефтеюганска Даниила Пригаро:

    — Сын расплатился за однокомнатную квартиру, приобретенную с помощью кооператива, еще два года назад, подал пакет документов на оформление квартиры в собственность в Росреестр в начале сентября 2022 года — и все это время не может зарегистрировать собственность на нее из-за того, что в Росреестре она значится как арестованная. В конце сентября 2022 года он был мобилизован. Сын брал кредит, чтобы расплатиться за квартиру с кооперативом. Планировал продать эту квартиру и взять квартиру побольше в ипотеку. Однако неоднократно накладывался арест на недвижимость кооператива, несмотря на то что сейчас ареста нет — последний арест, накладывавшийся осенью 2023 года, 19 февраля истек, ходатайства о новом аресте дважды отклонены судом, по Росреестру арест с квартиры до сих пор не снят. В результате кредит приходится платить, квартира в собственность до сих пор не оформлена.

    У сына нет никакой физической и финансовой возможности выяснять отношения с Росреестром — в административном или судебном порядке, он приезжает в отпуска на неделю-полторы, ему не до сутяжничества. Я нахожусь в Анапе, приобрела квартиру с помощью кооператива — сын не имеет возможности сделать на меня генеральную доверенность, а я не могу из Анапы приехать в Нефтеюганск и решать вопросы в Росреестре — кроме поезда, сейчас, сами понимаете, ничего не ходит (конец цитаты).

    «На безобразие, которое происходит с кооперативом, мы пишем жалобы во все инстанции, — говорит она. — Надеемся, новое руководство Министерства обороны поможет урегулировать ситуацию».

    «Надежда, что все разрешится, остается — не может же все быть коррумпировано»

    Елена Бойко — пайщик кооператива из Новосибирска и мать солдата, воющего в СВО, для которого она собиралась приобрести одну из двух квартир в кооперативе. «Я стала пайщиком кооператива в 2021 году. В январе 2021 года подала заявление на покупку двух квартир с помощью кооператива по накопительной программе. У меня двое детей — сын и дочь, им нужно жилье. В 2020 году взяли в ипотеку загородный дом — причем оформили на сына как единственного, кому ее могли одобрить, а в 2021 году он ушел в армию как призывник, а потом подписал контракт. Его относительно недавно отправили „за ленточку“. Думали, что поживем в ипотечном доме, и тут как раз подойдет очередь приобретать квартиры с помощью кооператива. Мы останемся жить в частном доме, а дети въедут в кооперативные квартиры».

    «Ипотека — это разорительно, — подчеркивает Елена, — мы взяли 2,5 млн, а за 30 лет отдадим 6 млн. Когда появился кооператив, для нас это была возможность предоставить каждому из детей жилье: за 10 лет или раньше они расплатятся с кооперативом, причем с минимальной по сравнению ипотекой переплатой, и у них будет собственное жилье. Из-за репрессий в отношении кооператива мы можем быть этой возможности лишены».

    «Я всем сердцем переживаю за ситуацию с кооперативом, заявление о выходе из кооператива пока не пишу — надеюсь, что его деятельность „разморозится“, — говорит Елена. — Обращаемся во все инстанции, в прокуратуру — приходят отписки. Смысл происходящего я понимаю хорошо — когда-то занималась кредитным потребительским кооперативом: нас тогда закрыл Центральный банк. Нашел формальный повод. Но настоящая причина была в том, что мы мешали банкам обирать клиентов. Но надежда на то, что все разрешится, остается — не может же быть все коррумпировано».

    «Больше всего в нашей ситуации возмущает то, что наши воины стоят на стороне государства на фронте, а здесь, в тылу, их интересы нарушаются государственными структурами. Такого быть не должно!»

    «Для многих кооператив — единственная возможность приобрести квартиру»

    Лариса Зискинд — пайщица «Бест Вей», переехавшая с помощью кооператива с семьей — с дочерью, зятем и маленьким внуком ­- с Дальнего Востока в Белгородскую область. Ее зять, живущий в кооперативной квартире, находится на фронте СВО. «С помощью кооператива я приобрела квартиру в двухэтажном доме в селе Пушкарное Белгородской области — мы с дочерью переехали сюда. Мы уже два года расплачиваемся за него с кооперативом. Не до конца сделали ремонт, кухни фактически нет: моем посуду в ванной. Финансовых средств не хватает, так как зять уже год на СВО, пока ни разу не был в отпуске, и перевести деньги с его карты в ВТБ сейчас непросто, потому что карта — в расположении, до ближайшего банка ехать далеко, а он сам — на линии фронта. Мы фактически живем с выплат на ребенка, на мне кредиты — у меня полпенсии уходит на их оплату. Квартира по Росреестру находится под арестом, хотя арест по квартирам кооператива арест истек — а я боюсь ехать в Белгород, чтобы решать по ней вопрос. Я с ребенком на улицу гулять не выхожу в нынешней военной обстановке — сирены воздушной тревоги постоянные. Побыстрее бы наши войска создали санитарную зону в Харьковской области!»

    По поводу покупки квартиры Лариса сообщает, что «ипотека точно никак не светила. Кооператив — это 14 тыс. в месяц и всего лишь 10 лет. В кооперативе даже студентка может приобрести квартиру, почти не переплачивая. При покупке через банк придется заплатить еще как минимум за одну квартиру».

    «Среди пайщиков кооператива очень много пенсионеров, социально незащищенных людей, это была их единственная возможность приобрести квартиру, — говорит Лариса. — Из-за репрессий против кооператива мы можем лишиться единственного жилья. Мы куда только не писали в защиту кооператива. Но, видимо, слишком большой куш. Кооперативу не дают даже платить налоги. Надеемся, что отношение к кооперативу в результате справедливого разбирательства изменится в лучшую сторону».

    «Мы очень устали. Но боремся»

    Людмила Гарина — пайщица кооператива из Саратова, зять которой, проживающий вместе с ней в кооперативной квартире, участвует в СВО. «Я проживаю в кооперативной квартире почти три года вместе с дочерью и внуком, вносим ежемесячные платежи через госуслуги».

    «Возможности взять ипотеку не было, — говорит Людмила. — Фактически у нас один работающий человек — дочь, зять мобилизован, внук — студент, внучке — четыре года. Мы с мужем пенсионеры».

    «У нас с кооперативом проблем не было никаких, — говорит она, — но сейчас уверенности в завтрашнем дне нет. Пишем во все возможные инстанции, в том числе в Администрацию президента, ходили на прием к Володину. Пока ничего не помогает. Вся надежда на то, что суд разберется».

    «Хотелось, чтобы вопрос о возобновлении работы кооператива быстрее решился, — говорит она, — тогда стало бы проще. Когда кооператив заработает, будет совершенно иная ситуация. Мы очень устали. Но боремся».

    «20 тыс. пайщиков кооператива не так просто остановить»

    Алла Яровая — пайщик кооператива из Пятигорска и представитель пайщицы Людмилы Дворцовой, сын которой, Игорь Дворцов, находился на СВО, а теперь служит внутри страны. «Людмила приобрела с помощью кооператива в Пятигорске квартиру для своего сына. Вступила в кооператив она в 2017 году, сначала находилась в накопительной программе — накапливала на первоначальный паевый взнос, накопила, потом стояла в очереди на приобретение жилье, приобрела с помощью кооператива однокомнатную квартиру за 1450 тыс. рублей. Потом приобрела квартиру и постепенно полностью за нее расплатилась. Работала для этого на двух работах, в том числе санитаркой в инфекционном отделении».

    Но оформить квартиру в собственность не удалось, так как она оказалась под арестом, поясняет Алла. И хотя арест 19 февраля истек и больше не накладывался, суд первой инстанции в Пятигорске этот арест подтвердил. «По вопросу получения права собственности и снятия ареста мы обратились в Пятигорский городской суд, где судья очень предвзято отнесся к решению вопроса и мы получили отказ, — говорит Алла, — Хотя аналогичный вопрос рассматривался в Минераловодском суде и там судья вынесла положительное решение и в настоящий момент пайщик получил право собственности на свою квартиру. Предстоит рассмотрение в апелляционной инстанции — несмотря на то, что рассматривать нечего: ареста на недвижимость кооператива сейчас нет. А на квартиру Людмилы Дворцовой — почему-то есть».

    «Кооператив — единственная возможность для людей со средним достатком получить жилье, — говорит Алла, — Нерешенный вопрос — налоги. Мы вынуждены платить налоги с юридических лиц, но мы же физические лица. К депутатам — с нас берут налог как с юрлица. Почему мы должны оплачивать — мы же физлица? Во многих регионах это сделано. Надеемся добиться того, чтобы это было сделано по всей стране».

    «20 тыс. пайщиков кооператива не так просто остановить, — подчеркивает пайщица. — Это наши деньги, и мы за них боремся. Обязательно отстоим наш кооператив!»

    «Активно участвую в защите кооператива»

    У пайщицы кооператива, жительницы из Ленинградской области Татьяны Власенко старший сын находится на СВО с сентября 2022 года. «Три месяца проходил обучение, а потом оказался „за ленточкой“, — говорит Татьяна. — Мы должны были в конце лета 2022 года купить квартиру с помощью кооператива — квартиру планировали большую. Но работа кооператива оказалась заблокирована, и кооператив не может ничего купить уже более двух лет, так как и его счета, и его деятельность заблокированы. Деньги пайщиков, собранные для приобретения квартир, при этом обесцениваются».

    «Я активно участвую в защите нашего кооператива, — говорит Татьяна. — Езжу на все суды в Санкт-Петербурге, хотя живу в деревне — ехать два с половиной, а то и три часа, мне 64 года, а путь неблизкий. И сын в этом поддерживает меня».

    «Вот уже более двух лет работа кооператива заблокирована, деньги обесцениваются»

    У пайщицы из Хабаровска Натальи Ромашко на СВО было два племянника — один, к сожалению, погиб. Планировалась покупка большой квартиры в Хабаровске, Наталья состояла в накопительной программе. «Вот уже более двух лет работа кооператива заблокирована, деньги обесцениваются, — говорит Наталья. — Я участвую в защите кооператива, пишу письма в прокуратуру, в высшие государственные инстанции, потому что нарушаются наши права, нас лишают возможности приобрести квартиру вне ипотечной системы. Пока приходят одни отписки, но борьбу мы продолжаем!»

    «Ситуация — как на СВО»

    Пайщица Светлана Иванова из Новосибирска, волонтер СВО, планировала приобрести с помощью кооператива две квартиры — для себя и для сына, который воюет на СВО добровольцем. «До этого я продала квартиру и сейчас вообще без собственного жилья, — говорит она. — Вступила в кооператив по накопительной программе, рассматривали для приобретения квартиры Крым и Новосибирск. В СВО участвую как волонтер — не остаюсь в стороне, когда Родине нужна помощь».

    «От ситуации с кооперативом очень многие люди пострадали, — говорит Светлана. — Ситуация — как на СВО. И еще больше пострадают, если реализуется плохой сценарий. Хочется надеяться на то, что все образуется, правда восторжествует. Заявление о выходе из кооператива и возврате паевых средств я не подавала. Готова продолжить участие в нем, готова приобрести недвижимость с его помощью: это самый лучший вариант покупки квартиры».

    «Сдаваться в планах нет»

    Пайщица Марина Янковская родом из Хабаровска, она переехала в Новороссийск, ее супруг погиб на СВО. «У нас уже подходила очередь на покупку квартиры в Новороссийске для нашей семьи, мы должны были подбирать объект, — рассказывает она. — Но два года назад все остановилось. Хотели приобрести двухкомнатную квартиру в Новороссийске. Деньги лежат на арестованных счетах кооператива — а недвижимость за это время подорожала. Надеемся хоть что-то приобрести после того, как счета разблокируют».

    «Мы всячески поддерживаем кооператив, — говорит Марина. — Записывали видео, что мы не обманутые, а вполне довольные пайщики, объясняли, что это никакая не пирамида, а организация, созданная в помощь людям. Ждем, когда снимут эти аресты. Сдаваться в планах нет».

  6. Thomasnag表示:

    The story of Michael Phelps https://amerique.michael-phelps.com how he became the greatest swimmer of all time, overcoming adversity, setting records and inspiring the world.

  7. RonaldMah表示:

    Learn about Jayson Tatum’s https://celtics-de-boston.jayson-tatum.com rise from young rookie to key leader of the Boston Celtics in the NBA, his impact on the team and his success on the court.

  8. porn videos表示:

    You suggested it very well.

  9. 10 Nespresso Coffee Machine Projects Related To Nespresso Coffee Machine To Extend Your Creativity coffee machine Pro

  10. 10 Books To Read On Double Bunk Beds For Sale metal double Bunk bed

  11. You’ll Be Unable To Guess Couch L Shaped Sofa’s Secrets couch l shaped sofa

  12. provadent表示:

    It’s the best time to make a few plans for the longer term
    and it is time to be happy. I have read this submit and if
    I could I want to suggest you few interesting things or suggestions.

    Maybe you could write subsequent articles relating to this article.
    I want to learn even more things approximately it!

    my site … provadent

  13. 5 Demo Slot Sugar Rush Projects For Every Budget sugar rush 1000 slot demo

  14. It’s The Good And Bad About Single Buggy cheap Single buggy

  15. I pay a visit each day a few blogs and sites to read posts,
    except this website provides feature based posts.

  16. The Best Slot Developers Tricks To Transform Your Life best slot developers

  17. Learn What Cerebral Palsy Lawsuit Tricks The Celebs Are
    Using Cerebral palsy lawyers [https://scientific-programs.science/]

  18. hi!,I love your writing very so much! percentage we be in contact extra approximately your post on AOL?
    I require an expert in this house to resolve my problem.
    May be that is you! Taking a look forward to peer you.

    Also visit my page :: https://faqrak.pl/profile/user/4lydiac85100eh5

  19. What’s The Job Market For Online Store Near Me Professionals Like?

    online store near me (http://www.plantsg.com.sg)

  20. EdwardSex表示:

    Deep Fake Nudes https://undressapp.net with Undress AI and Deepnude

  21. Why You’ll Definitely Want To Learn More About Upvc
    Door And Window locks for upvc windows

  22. audit_fdsi表示:

    Качественный аудит в Уфе, гарантия успеха.
    Ищете аудит в Уфе?, Мы готовы помочь.
    Оптимизация бизнеса с помощью аудита, наши предложения.
    Мы предоставим вам аудит, связаться с нами.
    Экспертный аудит для вашего бизнеса, мы предлагаем.
    Ваш бизнес с нами под защитой, высокое качество услуг.
    Аудит бухгалтерии в Уфе, для вашего спокойствия.
    Аудит: что необходимо знать?, не оставайтесь наедине с вопросами.
    Акции на аудит в Уфе, заказывайте услуги.
    Аудит, который вы заслуживаете, заботьтесь о своих финансах.
    Аудиторские услуги в Уфе для вашего бизнеса, с нами легко.
    Персонализированный подход к аудиту, работа с профессионалами.
    Аудит, который поможет сохранить ваши средства, это безопасно.
    Независимый аудит для вашего бизнеса, ваш успех — наша цель.
    Оптимизация процессов с помощью аудита, получите ответ у нас.
    Профессиональная проверка финансов, профессионально и быстро.
    Надежные решения для вашего бизнеса, мы знаем, что делаем.
    Ваши финансы под контролем, доверяйте нам.
    Аудит как инструмент успеха, присоединяйтесь к нам.
    Как найти идеального аудитора в Уфе?, обсуждаем все аспекты.
    аудит фирмы аудит фирмы .

  23. A片表示:

    Write more, thats all I have to say. Literally, it seems as though you relied on the video to make your point.

    You clearly know what youre talking about, why waste your intelligence
    on just posting videos to your blog when you could be giving
    us something enlightening to read?

    my web site; A片

  24. What’s The Reason Upvc Door Repairs Is Quickly Becoming The Hottest Trend For 2023 upvc windows
    repair near me (https://jaguaractive90.bravejournal.net/say-yes-to-these-5-window-repair-near-tips)

  25. 10 Locksmith For Auto Tricks All Experts Recommend automotive locksmith nearby (https://www.google.bs/url?q=https://www.g28carkeys.co.uk/)

  26. HarryJaw表示:

    Immerse yourself in the charm of France https://france.life-in-france.net a land of fine cuisine, impressive architecture and picturesque landscapes. An unrivaled lifestyle.

發佈留言

發佈留言必須填寫的電子郵件地址不會公開。