Формат файла psd
Я пытаюсь найти документацию формата psd, чтобы я мог читать в .psd, а затем сохранять отдельные слои в виде файлов, а также делать другие изменения. Кто-нибудь знает какой-либо документ в формате .psd? (Только для справки, я буду писать это на С++)
Если есть примеры кода для загрузки файла .psd в С++, я был бы признателен за их связь.
(Пожалуйста, не превращайте это в "просто использовать программное обеспечение XXX". Это не домашнее задание или что-то связанное с этим. Я делаю это, потому что думаю, что это будет забавный проект, над которым я буду работать. чтобы быть голосом, если это произойдет.)
Ответы
Ответ 1
Это не будет интересный проект, формат .psd большой. Он включает в себя все функции, которые Adobe заложила в Photoshop на протяжении многих лет.
Я считаю, что спецификация может быть получена от Adobe, но они не просто передают ее публике. Вам придется связаться с ними и сначала проскочить через несколько обручей.
Ответ 2
Есть также некоторый код Objective-C на GitHub (должен быть легко понятен для любого с фоном C++), также являющийся источником этого драгоценного камня, который, кажется, суммирует это:
Сейчас я хотел бы поговорить с вами о формате Adobe PSD. PSD не очень хороший формат. PSD это даже не плохой формат. Назвать это так было бы оскорбление других плохих форматов, таких как PCX или JPEG. Нет, PSD - ужасный формат. имеющий работал над этим кодом уже несколько недель, моя ненависть к PSD переросла в бушующий огонь это пылает страстью миллионов солнц.
Если есть два разных способа сделать что-то, PSD сделает оба, в разных мест. Затем он придумает еще три способа, о которых ни один здравомыслящий человек не подумает, и сделает слишком. PSD делает несоответствие формой искусства. Почему, например, он вдруг решил что эти конкретные куски должны быть выровнены до четырех байтов, и что это выравнивание не должны быть включены в размер? Другие куски в других местах либо не выровнены, или выровнены с выравниванием, включенным в размер. Здесь, однако, это не входит. Любой из этих трех типов поведения будет в порядке. Разумный формат выбрал бы один. PSD, конечно, использует все три и более.
Попытка извлечь данные из PSD файла - это все равно, что найти что-то на чердаке ваш эксцентричный старый дядя, который умер в чудовищной атаке пресноводных акул на его 58-й день рождения. Эта последняя деталь может не иметь значения для целей сравнения, но в этот момент я провожу много времени, воображая забавные судьбы для людей ответственность за это Рубе Голдберг в формате файла.
Ранее я пытался заполучить последние спецификации для формата файлов PSD. Сделать это, Я должен был обратиться к ним за разрешением обратиться к ним, чтобы они рассмотрели возможность отправки мне этот священный том. Это должно было бы отправить по факсу им копию какого-либо документа или другие, вероятно, подписаны кровью. Я могу только представить, что они делают этот процесс так трудно, потому что они сильно стыдятся того, что создали эту мерзость. я естественно, не был достаточно легковерным, чтобы пройти через эту процедуру, но если бы я сделал Итак, я бы распечатал каждую страницу спецификации и поджег их все. Если бы это было в моих силах, я бы собрал каждую копию этих спецификаций и запустил их на космическом корабле прямо под солнцем.
PSD не мой любимый формат файла.
Просто, чтобы вы были предупреждены. :)
Ответ 3
Спецификация формата файла PSD, написанная Adobe, находится здесь:
http://www.adobe.com/devnet-apps/photoshop/fileformatashtml/
Последнее обновление: июнь 2012 года. Насколько я знаю, это самый доступный источник информации о формате файла PSD, даже есть несколько ошибок.
Сначала я рекомендую начать, разделив PSD на блоки.
Наслаждайтесь!
Ответ 4
MyPSD:: CPSD class - это класс С++, который может загружать изображения, сохраненные в собственном формате Adobe Photoshop.
http://www.codeproject.com/Articles/10398/Import-Adobe-Photoshop-psd-images