透過網頁讀取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,012 Responses

  1. Gartandabsex表示:

    ржачные мемы. Как они появились.

  2. BarryDof表示:

    http://rybelsus.shop/# semaglutide cost

  3. Jeremypag表示:

    ozempic buy ozempic buy ozempic pills online

  4. RamonRek表示:

    ozempic cost: buy cheap ozempic – buy ozempic pills online

  5. LeroyAcuff表示:

    Профессиональный сервисный центр сервисные центры по ремонту мобильных телефонов ремонта телефонов telegraph

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

  7. вывод из запоя на дому ростов недорого http://www.vyvod-iz-zapoya-rostov15.ru .

  8. вывод из запоя срочно ростов http://www.vyvod-iz-zapoya-rostov16.ru/ .

  9. Gartandabsex表示:

    ржачные картинки. Как они появились.

  10. LeroyAcuff表示:

    Профессиональный сервисный центр мастерская по ремонту телефонов отремонтировать телефон

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

  12. вывод из запоя стационарно ростов vyvod-iz-zapoya-rostov16.ru .

  13. RamonRek表示:

    ozempic cost: buy ozempic – ozempic generic

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

  15. BarryDof表示:

    https://rybelsus.shop/# rybelsus cost

  16. Gartandabsex表示:

    Смешные картинки. Как они появились.

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

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

  19. Jeremypag表示:

    buy ozempic buy ozempic pills online buy cheap ozempic

  20. DouglasHoapy表示:

    1xBet Code https://idematapp.com/wp-content/pages/1xbet_promo_codes_free_bonus_offers.html
    1xBet codes refer to the alphanumeric strings provided by the platform or its partners, which can be used to claim bonuses such as free bets, deposit matches, or free spins. These codes are often shared through promotions, social media, or affiliate websites.

  21. Frankevild表示:

    http://ozempic.art/# ozempic

  22. Frankevild表示:

    http://rybelsus.shop/# semaglutide tablets

  23. Jeremypag表示:

    rybelsus cost rybelsus cost semaglutide online

  24. BarryDof表示:

    http://rybelsus.shop/# rybelsus coupon

  25. вывод из запоя круглосуточно ростов-на-дону вывод из запоя круглосуточно ростов-на-дону .

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

  27. вывод из запоя круглосуточно ростов вывод из запоя круглосуточно ростов .

  28. Gartandabsex表示:

    Веселые анекдоты
    Подними себе настроение

  29. HaroldBig表示:

    ozempic online: buy ozempic pills online – ozempic cost

發佈留言

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