формат файла psd - PullRequest
       84

формат файла psd

11 голосов
/ 18 марта 2011

Я пытаюсь найти документацию по формату файла psd, чтобы я мог прочитать в .psd, а затем сохранить отдельные слои в виде файлов вместе с другими изменениями. Кто-нибудь знает какой-либо документ в формате файла .psd? (Просто для справки, я напишу это на C ++)

Если есть примеры кода для загрузки файла .psd в C ++, тогда я был бы признателен за их связь.

(Пожалуйста, не превращайте это в «просто используйте программное обеспечение XXX». Это не домашняя работа, или что-то, связанное с этим. Я делаю это, потому что я думаю, что это будет интересный проект для работы. Я буду просить посты за это проголосуют.)

Ответы [ 4 ]

40 голосов
/ 18 марта 2011

Есть также некоторый код Objective-C на Код Google (должен быть легко понятен любому, у кого есть опыт работы с C ++), а также источник этого драгоценного камня, который, кажется, подытоживает:

Сейчас я хотел бы поговорить с вами о формате Adobe PSD.PSD не очень хороший формат.PSD это даже не плохой формат.Называть это так было бы оскорблением для других плохих форматов, таких как PCX или JPEG.Нет, PSD - ужасный формат.Проработав над этим кодом уже несколько недель, моя ненависть к PSD переросла в яростный огонь, который разгорается из-за страсти в миллион солнц.
Если есть два разных способа сделать что-то, PSD сделает и то, и другое.разные места.Затем он придумает еще три способа, о которых ни один здравомыслящий человек не подумает, и сделает это тоже.PSD делает несоответствие формой искусства.Почему, например, он вдруг решил, что эти конкретные фрагменты должны быть выровнены по четырем байтам, и что это выравнивание должно не быть включено в размер?Другие фрагменты в других местах либо не выровнены, либо выровнены с выравниванием, включенным в размер.Здесь, однако, это не входит.Любой из этих трех типов поведения будет в порядке.Разумный формат выбрал бы один.PSD, конечно, использует все три и более.
Попытка извлечь данные из PSD-файла - это все равно, что найти что-то на чердаке вашего эксцентричного старого дяди, который погиб в своей чудовищной атаке пресноводных акул в свой 58-й день рождения.,Эта последняя деталь, возможно, не важна для целей сравнения, но сейчас я трачу много времени на то, чтобы представить себе забавные судьбы для людей, ответственных за этого Руба Голдберга в формате файла.
Ранее я пытался получитьудержание последних спецификаций для формата файла PSD.Чтобы сделать это, я должен был обратиться к ним за разрешением обратиться к ним, чтобы они рассмотрели возможность отправить мне этот священный том.Для этого им нужно было отправить по факсу копию какого-либо документа или другого документа, вероятно, подписанного кровью.Я могу только представить, что они делают этот процесс настолько сложным, потому что им очень стыдно за то, что они создали эту мерзость.Естественно, я не был достаточно легковерным, чтобы пройти эту процедуру, но если бы я это сделал, я бы распечатал каждую страницу спецификации и поджег их все.Если бы это было в моих силах, я бы собрал каждую копию этих спецификаций и запустил их на космическом корабле прямо под солнцем.

PSD - не мой любимый формат файла.

Просто, чтобы вы были предупреждены.:)

9 голосов
/ 18 марта 2011

Это будет не веселый проект, формат .psd большой . Он включает в себя все функции, которые Adobe добавляла в Photoshop на протяжении многих лет.

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

8 голосов
/ 29 августа 2012

Спецификация формата файла PSD, написанная Adobe, здесь;

http://www.adobe.com/devnet-apps/photoshop/fileformatashtml/

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

Сначала я рекомендую начать с деления PSD на блоки.

Наслаждайтесь!

0 голосов
/ 01 августа 2016

MyPSD :: CPSD класс - это класс C ++, который может загружать изображения, сохраненные в собственном формате Adobe Photoshop. http://www.codeproject.com/Articles/10398/Import-Adobe-Photoshop-psd-images

...