透過網頁讀取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": []
    }
  }
}

You may also like...

41,226 Responses

  1. JamesGag表示:

    buying from online mexican pharmacy: Mexican Pharm International – Mexican Pharm Inter

  2. Arthurhow表示:

    https://interpharmonline.shop/# reliable canadian online pharmacy
    legitimate canadian pharmacy online

  3. Arthurhow表示:

    http://mexicanpharminter.com/# mexican pharmacy online store
    canada pharmacy

  4. Georgewhend表示:

    mexican pharmacy online store: Mexican Pharm International – mexican pharmacy online

  5. JamesGag表示:

    mexican pharmacy online order: reliable mexican pharmacies – mexican pharmacy online

  6. Montebeera表示:

    northwest canadian pharmacy Cheapest online pharmacy legitimate canadian pharmacies

  7. Williszew表示:

    http://mexicanpharminter.com/# MexicanPharmInter

  8. Montebeera表示:

    online medicine shopping in india online medicine shopping in india cheapest online pharmacy india

  9. Carlosgycle表示:

    Модули и передвижные помещения: проверенное решение для ваших проблем
    Контейнеры и блок-контейнеры способствуют наладить рабочее пространство, кладовую или временный модуль. Мы гарантируем здания, которые отвечают профессиональным нормам безопасности и функциональности.

    Параметры
    Прочность. Данные бытовки произведены из элементов, стойких к воздействию и внешним воздействиям.
    Моментальная доставка. Постройка доставляется в пределах 1–2 календарных дней после подписания договора.
    Персонализация. Осуществляется компоновка утепления, электрики или системы проветривания.
    Сферы использования
    На стройплощадках для организации склада или организации комнаты отдыха.
    Во время мероприятий для создания информационного центра или склада оборудования.
    В качестве временно используемых помещений или управляющих центров.
    Преимущества
    Оптимизация времени. Не нужно создавать временные конструкции.
    Удобство. Среда, которые улучшают результативность действий бригады.
    Гибкость. Шанс аренды или постоянного владения под индивидуальные нужды и бюджет.
    Практический пример
    Подрядчик внедрила блок-контейнер для организации склада инструментов и комнаты отдыха. Объект была транспортирована за сутки, с дополнительным утеплением. Партнёр отметил на улучшение условий работы и ликвидацию простоев.

    Как начать сотрудничество
    Для заключения договора нужно связаться с нами. Выделим исчерпывающие сведения, окажем помощь определить лучший вариант и выполним перевозку.

  10. JamesGag表示:

    lowest prescription prices online india: India Med Fast – buying prescription drugs from india

  11. Тут можно преобрести навес металлический в Санкт-Петербурге подробно на сайте навес арочный

  12. Montebeera表示:

    IndiaMedFast IndiaMedFast cheapest online pharmacy india

  13. Montebeera表示:

    canadian pharmacy in canada highest rated canadian online pharmacy maple leaf pharmacy in canada

  14. Georgewhend表示:

    lowest prescription prices online india: order medicines online india – online medicine shopping in india

  15. Тут можно преобрести навес для дома в Санкт-Петербурге подробно на сайте навес на дачу

  16. Georgewhend表示:

    online canadian pharmacy review: InterPharmOnline.com – my canadian pharmacy rx

  17. Georgewhend表示:

    best mail order pharmacy canada: InterPharmOnline.com – canadian drug pharmacy

  18. Williszew表示:

    https://interpharmonline.shop/# www canadianonlinepharmacy

  19. Williszew表示:

    https://mexicanpharminter.com/# mexican pharmacy online order

  20. Arthurhow表示:

    https://interpharmonline.com/# safe reliable canadian pharmacy
    canadian pharmacy service

  21. JamesGag表示:

    cheapest online pharmacy india: IndiaMedFast.com – online medicine shopping in india

  22. Williszew表示:

    https://indiamedfast.com/# india pharmacy without prescription

  23. Williszew表示:

    https://mexicanpharminter.com/# mexican pharmacy online order

發佈回覆給「1win_nhPa」的留言 取消回覆

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