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

  1. ChrisCab表示:

    can i buy zithromax over the counter: buy generic zithromax online – zithromax 500 mg lowest price drugstore online

  2. Oliverdract表示:

    ivermectin 0.08 stromectol covid 19 price of ivermectin

  3. Oliverdract表示:

    how much is amoxicillin prescription amoxicillin 500mg price canada can you buy amoxicillin uk

  4. ChrisCab表示:

    ivermectin 3: minocycline 50mg tabs – buy ivermectin nz

  5. Andrewwaize表示:

    https://prednisonetablets.shop/# can i order prednisone

  6. Atzaip表示:

    clomid 100mg for sale buy cheap generic clomiphene clomiphene price

  7. JerryDus表示:

    http://viagrasansordonnance.pro/# Viagra sans ordonnance 24h suisse

  8. sitemap.xml表示:

    I was curious if yyou ever considered changing thee lyout oof yor blog?
    Itss ver well written; I love whast youve got to say. Butt maybe you
    could a little mlre iin thhe wway of contenbt so people couod connect withh it better.

    Youve gott aan awfuil lot of ext forr only having one orr two images.
    Maybe yyou could space itt out better?

  9. VictorPen表示:

    п»їpharmacie en ligne: pharmacie ouverte – Pharmacie en ligne sans ordonnance

  10. VictorPen表示:

    Acheter mГ©dicaments sans ordonnance sur internet: kamagra gel – acheter mГ©dicaments Г  l’Г©tranger

  11. RobertSherN表示:

    pharmacie ouverte 24/24 PharmaDoc Pharmacie en ligne France

  12. RobertSherN表示:

    SildГ©nafil 100 mg sans ordonnance Acheter du Viagra sans ordonnance Prix du Viagra en pharmacie en France

  13. JerryDus表示:

    https://acheterkamagra.pro/# Pharmacie en ligne fiable

  14. sitemap表示:

    Goodd replies iin return of this difficlty witrh soklid arguments and explawining the whole thinhg egarding that.

  15. Andrespah表示:

    http://cialissansordonnance.shop/# acheter medicament a l etranger sans ordonnance
    Pharmacie en ligne pas cher

  16. JerryDus表示:

    https://levitrasansordonnance.pro/# acheter medicament a l etranger sans ordonnance

  17. Jasonneome表示:

    Pharmacie en ligne France: kamagra gel – Pharmacie en ligne pas cher

  18. VictorPen表示:

    Acheter viagra en ligne livraison 24h: Viagra sans ordonnance 24h – Viagra pas cher livraison rapide france

  19. VictorPen表示:

    Viagra sans ordonnance livraison 48h: Viagra generique en pharmacie – Viagra sans ordonnance 24h

  20. RobertSherN表示:

    Acheter mГ©dicaments sans ordonnance sur internet Acheter Cialis Acheter mГ©dicaments sans ordonnance sur internet

  21. JerryDus表示:

    https://pharmadoc.pro/# Pharmacies en ligne certifiées

  22. RobertSherN表示:

    Pharmacie en ligne livraison 24h Levitra 20mg prix en pharmacie acheter medicament a l etranger sans ordonnance

  23. Jasonneome表示:

    Pharmacies en ligne certifiГ©es: cialis generique – Pharmacie en ligne livraison 24h

  24. Andrespah表示:

    https://viagrasansordonnance.pro/# SildГ©nafil 100 mg prix en pharmacie en France
    pharmacie ouverte

  25. JerryDus表示:

    https://pharmadoc.pro/# pharmacie ouverte

  26. VictorPen表示:

    Viagra prix pharmacie paris: viagrasansordonnance.pro – Viagra vente libre pays

  27. Cglybt表示:

    order vardenafil 10mg sale buy vardenafil generic

  28. VictorPen表示:

    п»їpharmacie en ligne: levitrasansordonnance.pro – Pharmacie en ligne sans ordonnance

  29. JerryDus表示:

    https://levitrasansordonnance.pro/# Pharmacie en ligne livraison 24h

發佈留言

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