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

  1. вывод из запоя в стационаре воронежа http://rubiz.forum.cool/viewtopic.php?id=3748/ .

  2. Top Apps to Make Money in Pakistan, Simple Ways to Make Money in Pakistan Through an App, Secret Methods to Make Money in Pakistan, For Quick Earnings, Popular Apps to Make Money in Pakistan, Is it possible to earn money in Pakistan through applications?, for successful earnings, Promising applications for earning money in Pakistan, for those who strive for financial independence, to increase financial flow, Effective strategies for making money in Pakistan through apps, Updated platforms for making money in Pakistan, The most interesting apps for making money in Pakistan, for making money quickly, Optimal platforms for making money in Pakistan, for making money at home, which bring real money, to improve financial situationearning app in pakistan real money earning apps in pakistan .

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

  4. BrandenSlomy表示:

    Priligy tablets: dapoxetine price – dapoxetine online

  5. Узнай все о операция по увеличению пениса цена операция по увеличению члена цена

  6. BernardMop表示:

    cheap plavix antiplatelet drug buy Plavix Clo Cost of Plavix without insurance

  7. Узнай все о операция увеличение члена увеличение члена

  8. вывод из запоя краснодар на дому анонимно вывод из запоя краснодар на дому анонимно .

  9. DarrenUnjuh表示:

    http://iverfast.com/# purchase ivermectin

  10. вывод из запоя в стационаре воронежа https://vip.rolevaya.info/viewtopic.php?id=6913 .

  11. вывод из запоя на дому краснодар круглосуточно https://kozaostra.mybb.ru/viewtopic.php?id=14290/ .

  12. вывод из запоя краснодар стационар mymoscow.forum24.ru/?1-6-0-00022914-000-0-0-1730745663 .

  13. AlbertDuM表示:

    cheapest Lisinopril: lisinopril1st – cheapest Lisinopril

發佈留言

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