透過網頁讀取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...

34,494 Responses

  1. вывод из запоя краснодар стационар http://www.wisdomtarot.tforums.org/viewtopic.php?f=16&t=11706 .

  2. Kolyaska_afPl表示:

    Bugaboo: комфорт и безопасность в каждой детали, Bugaboo – это не просто коляска, это инвестиция в комфорт и безопасность, Как выбрать идеальную коляску Bugaboo для вашего малыша, Bugaboo: стиль и функциональность в одном, 5 причин выбрать коляску Bugaboo для вашего малыша, Bugaboo Fox: лучший выбор для активных родителей, Bugaboo Ant: компактность и функциональность в одном, Bugaboo Buffalo: коляска для любых приключений.
    детская коляска бугабу детская коляска бугабу .

  3. срочная помощь вывод из запоя краснодар zavitai.mybb.social/viewtopic.php?id=90 .

  4. алкоголизм вывод из запоя краснодар http://www.severussnape.borda.ru/?1-4-0-00000317-000-0-0-1730744751 .

  5. buket_lqma表示:

    Как выбрать идеальный букет невесты, которые вас вдохновят.
    Как сделать букет невесты своими руками, который станет вашим сокровищем.
    Как выбрать букет невесты, который подчеркнет ваш стиль, для свадебной церемонии.
    Как сэкономить на букете невесты без потери красоты, который порадует вас и вашего жениха.
    Реальный или искусственный букет невесты: преимущества и недостатки, для сохранения воспоминаний о свадьбе.
    Простота и гармония: как создать стильный букет невесты в минималистическом стиле, для свадьбы в скандинавском стиле.
    Стильные сочетания букета и платья невесты, для незабываемых фотосессий.
    букет невесты нн https://buketnevestynn.ru/ .

  6. вывод из запоя дешево краснодар https://www.bija089.0pk.me/viewtopic.php?id=2554 .

  7. BernardMop表示:

    ivermectin 0.5 buy Ivermectin online stromectol ebay

  8. вывод из запоя круглосуточно краснодар на дому http://aqvakr.forum24.ru/?1-7-0-00011577-000-0-0-1730744773 .

  9. AlbertDuM表示:

    ivermectin cream: inverfast.com – minocycline 50 mg without prescription

  10. вывод из запоя стационар краснодар https://belbeer.borda.ru/?1-6-0-00000757-000-0-0-1730745253/ .

  11. вывод из запоя в стационаре краснодара https://mozaisk.anihub.me/viewtopic.php?id=4370 .

  12. вывод из запоя в стационаре краснодара http://tatuheart.ukrbb.net/viewtopic.php?f=8&t=15068 .

發佈留言

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