aspose.info
BG

PSD - Photoshop файлов формат

Обновено

Какво е PSD файл?

PSD, Photoshop Document, представлява родния файлов формат на Adobe Photoshop, използван за графичен дизайн и разработка. PSD файловете могат да включват слоеве с изображения, коригиращи слоеве, маски на слоеве, анотации, файлова информация, ключови думи и други специфични за Photoshop елементи. Файловете на Photoshop имат разширение по подразбиране като .PSD и имат максимална височина и ширина от 30 000 пиксела и ограничение на дължина от два гигабайта.

Спецификации на PSD файлов формат

Данните в PSD файл се съхраняват в голям ред на байтовете. Това предполага размяна на късите и дългите цели числа при четене или писане на платформа Windows. Файловият формат на Photoshop е разделен на пет основни части. Има много маркери за дължина, които могат да се използват за преминаване от една секция към друга. Маркерите за дължина обикновено се допълват с байтове, за да се закръглят до най-близкия интервал от 2 или 4 байта. Петте основни части са:

  • Заглавка на файла
  • Данни за цветовия режим
  • Ресурси за изображения
  • Информация за слой и маска
  • Данни за изображения

За съответствие данните трябва да се записват във всички тези полета в раздела, тъй като Photoshop може да се опита да прочете целия раздел. Това също предполага, че нули се записват в пропуснати полета, докато пишете във файл. Полето за дължина в секциите, разделени с дължина, трябва да се използва, за да решите кога да спрете четенето. В повечето случаи полето за дължина показва броя на следващите байтове, а не на записите. Следните точки трябва да се запомнят, докато четете файл.

  • Стойностите в колона “Дължина” във всички таблици са в байтове.
  • Всички стойности, дефинирани като Unicode низ се състоят от:
  • 4-байтово поле за дължина, представляващо броя на символите в низа (не байтове).
  • Низът от Unicode стойности, два байта на символ.

Заглавка на файл

Заглавката на файла съдържа основните свойства на изображението.

ДължинаОписание
4Подпис: винаги равен на ‘8BPS’. Не се опитвайте да прочетете файла, ако подписът не съответства на тази стойност.
2Версия: винаги е равна на 1. Не се опитвайте да прочетете файла, ако версията не отговаря на тази стойност. (*PSB~~* версията е 2.)
6Запазено: трябва да е нула.
2Броят на каналите в изображението, включително всички алфа канали. Поддържаният диапазон е от 1 до 56.
4Височината на изображението в пиксели. Поддържаният диапазон е от 1 до 30 000.
4Ширината на изображението в пиксели. Поддържаният диапазон е от 1 до 30 000.
2Дълбочина: броят битове на канал. Поддържаните стойности са 1, 8, 16 и 32.
2Цветовият режим на файла. Поддържаните стойности са: Bitmap # 0; Скала на сивото # 1; Индексиран # 2; RGB # 3; CMYK # 4; Многоканален # 7; Duotone # 8; Лаборатория № 9.

Секция с данни за цветен режим

Разделът с данни за цветовия режим е структуриран, както следва:

ДължинаОписание
4Дължината на следните цветни данни
променливаДанните за цвета

Данните за цветовия режим са достъпни само за индексиран цвят и двуцветен цвят, както е дефинирано от полето за режим в раздела за заглавка на файла. За всички други режими тази секция е представена от 4-байтови нулирани стойности. За индексирани цветни изображения дължината е 768 и цветните данни съдържат таблицата с цветовете за изображението в ред без разплитане. За двуцветни изображения цветните данни съдържат двуцветна спецификация (чийто формат не е документиран). Други приложения, които четат файлове на Photoshop, могат да третират двуцветно изображение като сиво изображение и просто да запазят съдържанието на двуцветната информация, когато четат и записват файла.

Раздел за ресурси за изображения

Третият раздел на файла съдържа ресурси за изображения. Започва с поле за дължина, последвано от поредица от ресурсни блокове.

ДължинаОписание
4Дължина на секцията с ресурс за изображение. Дължината може да е нула.
ПроменливаРесурси за изображения (блокове за ресурси за изображения)

Ресурсите на изображения се използват за съхраняване на непикселни данни, свързани с изображения, като пътеки на инструмента за писалка. Те се наричат ресурсни блокове, защото съдържат данни, които са били съхранени в ресурса на Macintosh в ранните версии на Photoshop. Основната структура на ресурсните блокове за изображения е както е показано по-долу:

ДължинаОписание
4Подпис: ‘8BIM’
2Уникален идентификатор за ресурса. Идентификаторите на ресурси за изображения съдържат списък с идентификатори на ресурси, използвани от Photoshop.
ПроменливаИме: Pascal низ, подплатен, за да направи размера равномерен (нулево име се състои от два байта от 0)
4Действителен размер на данните за ресурсите, които следват
ПроменливаДанните за ресурсите, описани в разделите за отделните видове ресурси. Подплатено е, за да бъде размерът равен.

Ресурсите за изображения използват няколко стандартни идентификационни номера.

Информация за слой и маска

Четвъртият раздел на файла на Photoshop съдържа информация за слоеве и маски, като например брой слоеве, канали в слоевете, диапазони на смесване, клавиши на коригиращия слой, слоеве с ефекти и параметри на маската. Ако няма слоеве или маски, тази секция е представена от нулирано 4-байтово поле. Трябва да се обърне специално внимание на дължината на секциите, докато четете този раздел поради нулираните стойности. Подреждането на секцията Слой и Маска е както следва:

ДължинаОписание
4Дължина на секцията с информация за слоя и маската. (Дължината на PSB е 8 байта.)
ПроменливаИнформация за слоя
ПроменливаГлобална информация за маската на слоя
ПроменливаПоредица от маркирани блокове, съдържащи различни типове данни.

Информация за слоя

Следващата таблица показва организацията на високо ниво на информацията за слоя.

ДължинаОписание
4Дължина на секцията с информация за слоевете, закръглена до кратно на 2. (Дължината на PSB е 8 байта.)
2Брой слоеве. Ако е отрицателно число, абсолютната му стойност е броят на слоевете и първият алфа канал съдържа данните за прозрачност за обединения резултат.
ПроменливаИнформация за всеки слой. Вижте Записи на слой описва структурата на тази информация за всеки слой.
ПроменливаДанни за изображението на канала. Съдържа един или повече записа с данни за изображение за всеки слой. Слоевете са в същия ред като в информацията за слоя

Данни за изображения

Данните за пикселите на изображението се съдържат в раздела Данни за изображението на файла. Подреждането на данните в секцията с данни за изображението е в планарен ред, т.е. първо всички червени данни, след това всички зелени данни и т.н. Всяка равнина се съхранява в ред на сканиране, без байтове за подложки, секцията с данни за изображението е подредена във формат както е показано в следващата таблица.

ДължинаОписание
2Метод на компресиране: *0 = Необработени данни за изображение * 1 = RLE компресирани данни за изображение започват с броя на байтовете за всички сканирани линии (редове * канали), като всеки брой се съхранява като двубайтова стойност. Следват RLE компресираните данни, като всяка сканирана линия е компресирана отделно. RLE компресията е същият алгоритъм за компресия, използван от Macintosh ROM рутина PackBits и стандарта TIFF. *2 = ZIP без прогноза *3 = ZIP с прогноза.
ПроменливаДанните за изображението. Планарен ред = RRR GGG BBB и т.н.

Препратки

Вижте също