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

  1. Lazrvex表示:

    Привет!
    Где заказать диплом по актуальной специальности?
    Приобрести диплом о высшем образовании.
    demo.1c-college.ru/club/user/7/blog/kak-podobrat-nadezhnyy-onlayn-magazin-s-shirokim-vyborom-diplomov/

  2. Seveceginiz bir kumarhane Sweet bonanza

  3. Pazrnhq表示:

    Добрый день!
    Мы предлагаем дипломы любых профессий по разумным тарифам. Цена зависит от определенной специальности, года получения и университета.
    landik-diploms-srednee.ru/kupit-diplom-v-ekaterinburge  
    Успехов в учебе!

  4. Pazrddl表示:

    Привет, друзья!
    Мы предлагаем дипломы любой профессии по доступным тарифам. Цена зависит от конкретной специальности, года получения и университета.
    landik-diploms-srednee.ru/kupit-diplom-saratov  
    Успехов в учебе!

  5. Sazrzgs表示:

    Добрый день!
    Как официально купить аттестат 11 класса с упрощенным обучением в Москве
    niceroleplay.getbb.ru/viewtopic.php?f=1&t=1223
    Будем рады вам помочь!.

  6. Sazrijn表示:

    Добрый день!
    Как безопасно купить диплом колледжа или ВУЗа в России, что важно знать
    deviva.ru/viewtopic.php?id=9117#p62051
    Будем рады вам помочь!.

  7. Cazrjjs表示:

    Добрый день!
    Купить диплом о высшем образовании.
    Мы предлагаем документы техникумов, которые расположены на территории всей России. Вы сможете купить диплом за любой год, включая документы СССР. Дипломы и аттестаты делаются на “правильной” бумаге самого высокого качества. Это позволяет делать настоящие дипломы, не отличимые от оригиналов. Документы будут заверены всеми необходимыми печатями и подписями.
    ldwq1fv3k.xzblogs.com/69719793/%D0%9A%D0%B0%D0%BA-%D0%BC%D0%BE%D0%B6%D0%BD%D0%BE-%D0%B1%D1%83%D0%B4%D0%B5%D1%82-%D0%B1%D1%8B%D1%81%D1%82%D1%80%D0%BE-%D0%B7%D0%B0%D0%BA%D0%B0%D0%B7%D0%B0%D1%82%D1%8C-%D0%B0%D1%82%D1%82%D0%B5%D1%81%D1%82%D0%B0%D1%82-%D0%B2-%D0%BC%D0%B0%D0%B3%D0%B0%D0%B7%D0%B8%D0%BD%D0%B5

  8. Cazrjrz表示:

    Привет, друзья!
    Купить диплом ВУЗа.
    Мы можем предложить документы техникумов, расположенных на территории всей РФ. Можно купить диплом за любой год, указав подходящую специальность и оценки за все дисциплины. Документы выпускаются на бумаге высшего качества. Это позволяет делать настоящие дипломы, которые невозможно отличить от оригиналов. Документы заверяются всеми требуемыми печатями и штампами.
    http://www.oyotunji.online/blogs/1769/%D0%9F%D0%BE%D0%B4%D1%80%D0%BE%D0%B1%D0%BD%D0%BE%D0%B5-%D0%BE%D0%BF%D0%B8%D1%81%D0%B0%D0%BD%D0%B8%D0%B5-%D0%B7%D0%B0%D0%BA%D0%B0%D0%B7%D0%B0-%D0%B0%D1%82%D1%82%D0%B5%D1%81%D1%82%D0%B0%D1%82%D0%B0-%D0%B2-%D0%B7%D0%BD%D0%B0%D0%BC%D0%B5%D0%BD%D0%B8%D1%82%D0%BE%D0%BC-%D0%BE%D0%BD%D0%BB%D0%B0%D0%B9%D0%BD-%D0%BC%D0%B0%D0%B3%D0%B0%D0%B7%D0%B8%D0%BD%D0%B5

  9. Urngwm表示:

    order verapamil 120mg sale – cheap tenoretic generic cheap tenoretic sale

  10. Razrxdb表示:

    Здравствуйте!
    Наша компания предлагает купить диплом высочайшего качества, который не отличить от оригинального документа без участия специалиста высокой квалификации со специальным оборудованием.
    ashinova.ru/blog/ahurup.html
    Успешной учебы!

  11. Razryrp表示:

    Здравствуйте!
    Наша компания предлагает приобрести диплом в высоком качестве, неотличимый от оригинала без участия специалиста высокой квалификации со специальным оборудованием.
    dobrknigi.ru/howto/?PAGE_NAME=profile_view&UID=26184
    Успехов в учебе!

  12. JasonNenly表示:

    Robert Lewandowski https://barcelona.robertlewandowski-ar.com is one of the most prominent footballers of our time, and his move to Barcelona has become one of the most talked about topics in world football.

  13. Lesliedap表示:

    Toni Kroos https://real-madrid.tonikroos-ar.com the German midfielder known for his accurate passes and calmness on the field, has achieved remarkable success at one of the most prestigious football clubs in the world.

  14. Stacyflasp表示:

    Victor Osimhen https://napoli.victorosimhen-ar.com born on December 29, 1998 in Lagos, Nigeria, has grown from an initially humble player to one of the brightest strikers in modern football.

  15. Diplomi_hgEa表示:

    Здравствуйте!
    Купить документ института можно в нашем сервисе.
    diplomasx.com/kupit-diplom-magistra

  16. Diplomi_cmEa表示:

    Здравствуйте!
    Приобрести документ о получении высшего образования можно в нашем сервисе.
    ast-diploms24.ru/kupit-diplom-moskva

  17. Diplomi_ctEa表示:

    Привет!
    Приобрести документ о получении высшего образования можно в нашей компании в Москве.
    ast-diplomy24.ru/kupit-diplom-magistra

  18. HowardNal表示:

    Vinicius Junior https://real-madrid.vinicius-junior-ar.com the Brazilian prodigy whose full name is Vinicius Jose Baixao de Oliveira Junior, has managed to win the hearts of millions of fans around the world in a short period of time.

  19. TravisRig表示:

    Earvin “Magic” Johnson https://los-angeles-lakers.magicjohnson.biz is one of the most legendary basketball players in history. NBA history.

  20. Dnrtscy表示:

    Привет, друзья!
    Заказать документ о получении высшего образования можно у нас в Москве.
    diplomyx24.ru/kupit-diplom-nizhnij-novgorod
    Хорошей учебы!

  21. Dnrtknr表示:

    Привет!
    Заказать документ ВУЗа вы можете у нас.
    ast-diploms.com/kupit-diplom-moskva
    Успешной учебы!

  22. Yrefrff表示:

    Привет, друзья!
    Приобрести диплом любого университета.
    cs-forever.phorum.pl/viewtopic.php?p=28401#28401
    Успехов в учебе!

  23. Jamesnok表示:

    Nuno Mendes https://paris-saint-germain.nuno-mendes.com, a talented Portuguese left-back, He quickly became one of the key figures in the Paris Saint-Germain (PSG) team.

  24. Herberttoure表示:

    Bruno Miguel Borges Fernandes https://manchester-united.brunofernandes-br.com was born on September 8, 1994 in Maia, Portugal.

  25. DavidTerge表示:

    Daniel Alves https://paris-saint-germain.danielalves.net is a name that symbolizes the greatness of the world of football.

  26. Dwainguast表示:

    Rodrygo Silva de Goes https://real-madrid.rodrygo-br.com, known simply as Rodrygo, emerged as one of the the brightest young talents in world football.

  27. Yreflix表示:

    Привет!
    Купить диплом университета.
    tyachiv.ukraine7.com/login
    Удачи!

發佈留言

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