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

21,520 Responses

  1. Michaeltaisa表示:

    https://amoxil.icu/# amoxicillin 500 tablet

  2. MichaelSom表示:

    where buy clomid online: how can i get cheap clomid without prescription – order cheap clomid pills

  3. Timothyket表示:

    where to buy prednisone uk: prednisone 5 mg cheapest – 200 mg prednisone daily

  4. Danielnek表示:

    https://amoxil.icu/# where can you buy amoxicillin over the counter

  5. Michaeltaisa表示:

    https://amoxil.icu/# amoxicillin discount

  6. MichaelSom表示:

    where can i get cheap clomid without prescription: order clomid – can you buy generic clomid no prescription

  7. Danielnek表示:

    https://amoxil.icu/# medicine amoxicillin 500mg

  8. MichaelWence表示:

    cheap clomid where to buy cheap clomid without insurance – can i purchase clomid tablets

  9. Antoniobus表示:

    https://ciprofloxacin.life/# buy cipro cheap

  10. Ogedsj表示:

    antihistamine generic names best non prescription allergy medication best allergy pills for adults

  11. Отличный сайт, всем рекомендую заглянуть сюда!киного

  12. Отличный сайт, всем рекомендую заглянуть сюда!kinogo

  13. Отличный сайт, всем рекомендую заглянуть сюда!kinogo.vc

  14. Я рекомендую всем лучшее оригинальное вавада казино.

  15. Здесь определенно лучшая порошковая краска. Рекомендую!

  16. Отличный сайт, всем рекомендую заглянуть сюда!Тут Вы можете приобрестиЧехол на планшет

  17. sitemap.xml表示:

    I aam now nnot ertain whedre you are gtting your information, butt
    gdeat topic. I must spehd a while studying more or understanring more.

    Thannks forr wonderful infirmation I used to bbe looking for tuis infrormation forr myy mission.

  18. Отличный сайт, всем рекомендую заглянуть сюда!Тут Вы можете приобрестиЧехол для телефона

  19. Рекомендую здесь всем покупать чехол на телефон самсунг.

  20. Всем рекомендую классное Раменбет казино.

  21. Отличный сайт, всем рекомендую заглянуть сюда!Тут Вы можете приобрестиЧехол на телефон

  22. sitemap表示:

    Heyya i’m for the primary tjme here. I fokund this bpard
    annd I in findiing It really usefuul & iit helped me oout a lot.
    I hope to giv one thing again and aaid othesrs such ass you helped me.

  23. sitemap表示:

    My partner annd I stuumbled over here diffefent web page aand thoight I should check things out.
    I likke whnat I seee sso now i aam following you. Loook forward too
    finding oout about your wweb pagfe repeatedly.

  24. Отличный сайт, всем рекомендую заглянуть сюдавыездной бар на мероприятие

  25. Отличный сайт, всем рекомендую заглянуть сюдавыездной коктейль бар

  26. Отличный сайт, всем рекомендую заглянуть сюдаВыездной бар

  27. Отличный сайт, всем рекомендую заглянуть сюдазаймы финансовый агрегатор Финби.кз поможет найти и оформить онлайн займ по выгодной ставке в МФО и банках Казахстана

  28. Отличный сайт, всем рекомендую заглянуть сюдазайм онлайн

  29. I reccomend this product Killa snusto all.

  30. Отличный сайт, всем рекомендую заглянуть сюдазаймы онлайн

發佈留言

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