Здесь я хотел бы остановиться на минутку и рассказать о формате Adobe PSD. PSD не является хорошим форматом. PSD даже не является плохим форматом. Назвать его так было бы оскорблением для других плохих форматов, таких как PCX или JPEG. Нет, PSD — чудовищный формат. Несколько недель работы над этим кодом возвели мою ненависть к PSD до уровня яростного огня, пылающего лютой страстью миллиона солнц.
Если есть два способа что-то сделать, PSD использует оба, в разных местах. Вдобавок он создаст ещё три способа, которые бы не пришли в голову любому здравому человеку, и использует их заодно. PSD возводит несогласованность до уровня искусства. Почему, например, он решил, что именно эти блоки должны быть выровнены на четыре байта, и это выравнивание не должно быть включено в размер? Другие блоки в других местах либо не выравниваются, либо включают выравнивание в размер. Тут, впрочем, оно не включено. Любой из этих трёх способов подошёл бы. Разумный формат остановился бы на одном. PSD, конечно же, использует все три, и другие.
Попытаться извлечь данные из PSD файла — всё равно, что искать что-то на чердаке Вашего эксцентричного старого дядюшки, умершего от атаки взбесившейся пресноводной акулы на свой 58-й день рождения. Последняя деталь не имеет особого значения для повествования, но в данный момент я провожу немало времени, представляя занятные судьбы для людей, ответственных за этого Руба Голдберга среди файловых форматов.
Ранее я пытался заполучить свежие спецификации формата PSD. Для этого мне пришлось обратиться к ним за разрешением обратиться к ним для рассмотрения возможности отправки мне этого священного тома. Процесс включал отправку им по факсу копий тех или иных документов, возможно, подписанных кровью. Единственное приходящее мне в голову объяснение такой сложности процесса — им чрезвычайно стыдно за создание этой мерзости. Естественно, я не был в состоянии пройти эту процедуру, но если бы я смог, я бы распечатал все до единой странички этой спецификации, и сжёг бы их. Будь это в моих силах, я бы собрал все копии спецификации в мире, и отправил их ракетой прямо на Солнце.
PSD — не мой любимый формат.
Отсюда: https://habr.com/company/ua-hosting/blog/420091/