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

31,185 Responses

  1. Matthewweind表示:

    stromectol price in india: buy stromectol online – buy ivermectin uk

  2. Отличный сайт! Всем рекомендую!Детская оптика СПб

  3. Stevenjaw表示:

    https://gabapentin.auction/# neurontin brand coupon
    zithromax prescription

  4. Michaelgax表示:

    amoxicillin 500 coupon cheapest amoxil amoxicillin 500mg capsule buy online

  5. Learn how to easily integrate and manage YouTube videos on your site using the YouTube API video feature. With this tool, you can fetch video data, embed playlists, and even automate video uploads through your own application.

  6. Michaelbiawn表示:

    תמצאו כאן הכל. אילת ידועה בתור רוצה בילוי נעים, והן רוצות שתבוא לפגוש את ההורים. אז במקום להתבאס, אתה פשוט יכול לבלות עם נערות הבילוי הנעים. אתה החיים זורמת בגוף ורק תרצה עוד ועוד. והנערות יעניקו לך עוד ועוד, עד שתתפוצץ מרוב תשוקה. ואחר כך, תחושת הרוגע great post

  7. Michaelgax表示:

    neurontin 100mg tablet order gabapentin can i buy neurontin over the counter

  8. onkologija表示:

    What’s Taking place i am new to this, I stumbled upon this I’ve found It absolutely helpful and it has aided me out loads. I am hoping to contribute & aid other users like its aided me. Good job.

  9. Stevenjaw表示:

    https://stromectol.agency/# stromectol 3 mg tablet price
    zithromax 250 mg australia

  10. Matthewweind表示:

    buy amoxicillin canada: amoxicillin cheapest price – ampicillin amoxicillin

  11. Matthewweind表示:

    order Rybelsus for weight loss: semaglutide – Semaglutide pharmacy price

  12. Stevenjaw表示:

    http://zithromax.company/# zithromax z-pak
    zithromax online no prescription

  13. Michaelgax表示:

    Rybelsus 14 mg price semaglutide cheap Rybelsus 14 mg

  14. SamuelCic表示:

    https://amoxil.llc/# amoxicillin order online

  15. Yrzlgn表示:

    order amoxiclav online – order augmentin 375mg online cheap purchase levoxyl online

  16. Michaelgax表示:

    zithromax generic price buy zithromax z-pak online where to get zithromax

  17. Stevenjaw表示:

    http://gabapentin.auction/# buying neurontin online
    can you buy zithromax over the counter in mexico

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

  19. Rogeliobib表示:

    Найти специалиста по независимой экспертизе и оценке!

    Сайт-агрегатор компаний и услуг в сфере независимой экспертизы и оценки.
    Мы создали этот проект, чтобы помочь вам найти надежных и опытных профессионалов
    для решения ваших задач.

    Главная цель — сделать процесс поиска специалистов по независимой экспертизе
    и оценке максимально простым и эффективным. Мы стремимся предоставить вам
    доступ к компаниям, которые гарантируют высокое качество услуг.
    С нами вы сможете быстро найти нужного эксперта и сравнить различные предложения.

    На нашем сайте собраны карточки компаний, каждая из которых содержит подробную
    информацию о предоставляемых услугах. Посетители могут фильтровать предложения
    по различным критериям:

    Локация
    Направление экспертизы
    Стоимость услуг
    Отзывы клиентов

    Наш сайт Специалисты по независимой экспертизе и оценке.

  20. Matthewweind表示:

    prescription price for neurontin: gabapentin price – neurontin discount

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

  22. Matthewweind表示:

    gabapentin buy: order gabapentin – neurontin online

  23. Stevenjaw表示:

    https://zithromax.company/# buy zithromax no prescription
    generic zithromax 500mg

  24. Michaelgax表示:

    Rybelsus 7mg Rybelsus 7mg Rybelsus 14 mg price

  25. Отличный сайт! Всем рекомендую!Детская оптика СПб

  26. вывод из запоя на дому в екатеринбурге вывод из запоя на дому в екатеринбурге .

發佈留言

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