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

29,395 Responses

  1. Профессиональный сервисный центр по ремонту планшетов в Москве.
    Мы предлагаем: ремонт планшетов цены
    Наши мастера оперативно устранят неисправности вашего устройства в сервисе или с выездом на дом!

  2. принудительный вывод из запоя краснодар принудительный вывод из запоя краснодар .

  3. ForrestVal表示:

    pin-up bonanza: pin up giris – pin up guncel giris

  4. HaroldAvend表示:

    Промокод при регистрации аккаунта Prodamus https://cofe.ru/auth/articles/prodamus_promokod.html

  5. xxx_euen表示:

    x video com sexy xxxfreenow.com .

  6. В магазине сейфов предлагают взломостойкие сейфы сейф металлический взломостойкий

  7. В магазине сейфов предлагают cейф взломостойкий купить взломостойкий сейф

  8. В магазине сейфов предлагают взломостойкий сейф для дома взломостойкие сейфы купить

  9. вызов нарколога на дом круглосуточно http://www.narkolog-na-dom-krasnodar16.ru/ .

  10. В магазине сейфов предлагают взломостойкий сейф вломостойкие сейфы

  11. Gabrielwaimb表示:

    пин ап http://pinupru.site/# пин ап казино
    пинап кз

  12. Тут делают продвижение разработка сайта медицинской клиники создание сайтов для клиники

  13. быстрый анонимный вывод из запоя на дому быстрый анонимный вывод из запоя на дому .

  14. В магазине сейфов предлагают сейф взломостойкий цена сейф банковский взломостойкий

  15. ForrestVal表示:

    пин ап зеркало: пин ап вход – пин ап казино

  16. В магазине сейфов предлагают сейфы офисные взломостойкие сейф пожаровзломостойкие купить

  17. Тут делают продвижение разработка сайтов для медицинских центров продвижение сайта медицинского центра

  18. Тут делают продвижение сео медицина сео медицина

  19. Тут делают продвижение сео медицина seo. медицинских. сайтов

  20. Santopax表示:

    http://pinupru.site/# пин ап вход

  21. Santopax表示:

    https://pinupru.site/# пинап казино

  22. ForrestVal表示:

    pin up casino: pin up guncel giris – pin up casino giris

  23. Тут делают продвижение продвижение сайта медицинского центра создание сайта под ключ для медицинского учреждения

發佈留言

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