Автор: adnim дата: 18 Май 2012

Структура и формат файла Photoshop. Часть 5: Image Data

Итак, последняя, заключительная статья цикла, венчающая все наши наработки в области парсинга psd, и позволяющая целиком прочитать содержащееся в psd изображение. По правде говоря, эта секция (Image Data) лично для меня представляет мало интереса, так как основная полезная информация содержится в слоях 4-й секции и описана соответственно, в предыдущей, 4-й статье. Но в той статье я умолчал про то, как изображение декодировать. Теперь восполним этот пробел. Кроме того, этот блок информации может понадобиться тем, кто желает получить составное изображение из фотошоповского документа, не вдаваясь в детали. Например, просмотровщику графических файлов совсем необязательно знать что-либо о слоях и режимах блендинга, масках и эффектах; достаточно прочитать эту последнюю секцию, которая содержит готовое композитное изображение. Также немаловажно отметить то, что эта секция может вообще отсутствовать в psd в том случае, если документ не сохранялся в режиме максимальной совместимости. Но узнать о её наличии или отсутствии можно лишь прочитав предыдущие блоки (или по крайне узнав их размеры и пропустив соответствующее число байт).
Читать далее »

Автор: adnim дата: 16 Фев 2012

Структура и формат файла Photoshop. Часть 4: Layer and Mask Information Section

Эта статья обещает быть самой объёмной и информативной из всего цикла, так как содержит наиболее важную информацию о псд файле, а секция, которая здесь будет описана, имеет самый большой как абсолютный размер (в байтах), так и относительный (в логических блоках информации). Четвёртый блок (не путать с 4-м энергоблоком АЭС из Сталкера) содержит в себе огромное число информации, которая зачастую чередуется таким образом, что даже авторы оригинального документа (далее просто официальный документ) не могут вразумительно её описать. В этом документе есть информация, которая не только ничего не объясняет, а наоборот, запутывает и является ошибочной. Ну об этом по порядку.

Читать далее »

Автор: adnim дата: 14 Фев 2012

Структура и формат файла Photoshop. Часть 3: Image Resources Section

Продолжая описывать внутреннее устройство psd файла (http://papirosnik.net/tag/psd/) , едва успев начать, мы вдруг подобрались к самой его середине, к третьей секции (напомню, всего их пять). Этот блок хотя и носит многообещающее название (Image Resources), самой картинки всё ещё не содержит. Здесь содержится различная информация, относящаяся как к psd в целом, так и к отдельным слоям. Финальная картинка целиком содержится в пятой секции, при условии, что файл сохранялся в режиме максимальной совместимости. Но гораздо больший интерес представляет четвёртый блок, в котором собственно и хранятся изображения каждого канала в каждом слое. Но чтобы добраться до четвёртой части, надо пройти третью. Звучит банально, и выполнить это можно также банально.

Читать далее »

Автор: adnim дата: 27 Авг 2011

С++ Как сделать класс ненаследуемым. Паттерн проектирования «Ненаследуемый класс».

В грамотно спроектированной программе должно учитываться множество нюанасов. К сожалению, хотя  с++  и исповедует парадигму ООП, но делает это несколько своеообразно. Так, например, в нём разрешено множественное наследование классов. На первый взгляд это кажется разумным и такая возможность считается очень привлекательной, но на практике, как правило, сопряжено со многими трудностями и свидетельствует о плохой архитектуре программы. Возьмём к примеру, пресловутое ромбовидное наследование.

Читать далее »

Автор: adnim дата: 25 Мар 2011

Структура и формат файла Photoshop. Часть 2: Color Mode Data.

В первой статье цикла, посвящённого структуре  файла документа фотошопа psd обсуждалась «дикость» этого формата, описывались телесные муки, душевные переживания  и кармические наказания тому, кто парсил или только собирается парсить этот формат… Установлено, что псд-файл состоит из пяти секций. Автор клятвенно заверял, что будет исправно описывать каждую секцию в отдельной статье, но затем не удержался – и рассмотрел там же (во встпулении) 1-ю секцию, которая оказалось совсем простой (всего-то 26 байт).

Читать далее »

Страница 1 из 512345