DFP

Материал из FragoriaWiki

(Различия между версиями)
Перейти к: навигация, поиск
м
Строка 1: Строка 1:
-
[[DFP]] - специальный фрагориский формат для отдельных статических [http://ru.wikipedia.org/wiki/Растровая_графика растровых изображений]. Большинство статических картинок за исключением пожалуй лишь [[Карты локаций|карт локаций]] в игре передаются и хранятся в этом формате.
+
[[DFP]] - специальный фрагориский формат для отдельных статических [http://ru.wikipedia.org/wiki/Растровая_графика растровых изображений]. Большинство статических картинок за исключением пожалуй лишь [[Карты локаций|карт локаций]] в игре передаются и хранятся в этом формате. Формат удачно подходит для хранения разряженных изображений, где есть большие массивы полностью прозрачных точек.  
Как расшифровывается данная аббревиатура остаётся загадкой.
Как расшифровывается данная аббревиатура остаётся загадкой.
 +
 +
Формат имеет некоторую схожесть с форматом [http://ru.wikipedia.org/wiki/PNG PNG], а так же очень отдаленную с [http://ru.wikipedia.org/wiki/GIF GIF] и [http://ru.wikipedia.org/wiki/BMP BMP].
 +
 +
Изображение в формате [[DFP]] хранится построчно, поддерживается только формат с индексированой палитрой цветов. Формат поддерживает 256-цветовую палитру, точнее не более 253, так как три первых значения используются для задачи сжатия изображения, подробнее см. раздел [[DFP#Данные|Данные]].
 +
 +
== Структура Файла ==
 +
 +
Файл можно разделить на три части:
 +
# Заголовок
 +
# Палитра
 +
# Данные
 +
 +
== Заголовок ==
 +
'''Заголовок''' состоит из семи полей
 +
# '''width''' - ширина картинки ''(без знаковое целое двух-байтовое число)''
 +
# '''height''' - высота картинки ''(без знаковое целое двух-байтовое число)''
 +
# загадочное знаковое двух-байтовое число, нужное для правильной интерпретации раздела данных
 +
# обычно ноль ''(загадочное знаковое двух-байтовое число)''
 +
# загадочное без знаковое целое двух-байтовое число
 +
# '''PalSize1''' - количество цветов в первом части палитры ''(без знаковое целое одно-байтовое число)''
 +
# '''PalSize2''' - количество цветов во второй части палитры ''(без знаковое целое одно-байтовое число)''
 +
== Палитра ==
 +
Палитра состоит из двух частей:
 +
* 32 - битной, с [http://ru.wikipedia.org/wiki/%D0%90%D0%BB%D1%8C%D1%84%D0%B0-%D0%BA%D0%B0%D0%BD%D0%B0%D0%BB Альфа-каналом].<br />Данная часть состоит из блоков по 4 байта:
 +
*# первый байт - альфа канал
 +
*# второй байт - интенсивность красного
 +
*# третий байт - интенсивность зеленого
 +
*# четвертый байт - интенсивность синего
 +
* 24 - битной, только [http://ru.wikipedia.org/wiki/RGB RGB].<br />Данная часть состоит из блоков по 3 байта:
 +
*#первый байт - интенсивность красного
 +
*#второй байт - интенсивность зеленого
 +
*#третий байт - интенсивность синего
 +
 +
Каждый пиксель изображения описан одним байтом, содержащим номер поля палитры, в котором сохранен цвет этого [http://ru.wikipedia.org/wiki/%D0%9F%D0%B8%D0%BA%D1%81%D0%B5%D0%BB пикселя].
 +
== Данные ==
 +
 +
Данные аналогично формату [http://ru.wikipedia.org/wiki/PNG PNG] сжаты алгоритмом [http://ru.wikipedia.org/wiki/DEFLATE DEFLATE], его так же иногда именую [http://ru.wikipedia.org/wiki/Zlib zlib], но внутренний формат не сжатых данных отличен. Хранятся только непрозрачные или частично прозрачные пикселы, а массивы прозрачных пикселов пропускаются.
[[Категория:Технические вопросы]]
[[Категория:Технические вопросы]]

Версия 10:36, 27 декабря 2009

DFP - специальный фрагориский формат для отдельных статических растровых изображений. Большинство статических картинок за исключением пожалуй лишь карт локаций в игре передаются и хранятся в этом формате. Формат удачно подходит для хранения разряженных изображений, где есть большие массивы полностью прозрачных точек.

Как расшифровывается данная аббревиатура остаётся загадкой.

Формат имеет некоторую схожесть с форматом PNG, а так же очень отдаленную с GIF и BMP.

Изображение в формате DFP хранится построчно, поддерживается только формат с индексированой палитрой цветов. Формат поддерживает 256-цветовую палитру, точнее не более 253, так как три первых значения используются для задачи сжатия изображения, подробнее см. раздел Данные.

Содержание

Структура Файла

Файл можно разделить на три части:

  1. Заголовок
  2. Палитра
  3. Данные

Заголовок

Заголовок состоит из семи полей

  1. width - ширина картинки (без знаковое целое двух-байтовое число)
  2. height - высота картинки (без знаковое целое двух-байтовое число)
  3. загадочное знаковое двух-байтовое число, нужное для правильной интерпретации раздела данных
  4. обычно ноль (загадочное знаковое двух-байтовое число)
  5. загадочное без знаковое целое двух-байтовое число
  6. PalSize1 - количество цветов в первом части палитры (без знаковое целое одно-байтовое число)
  7. PalSize2 - количество цветов во второй части палитры (без знаковое целое одно-байтовое число)

Палитра

Палитра состоит из двух частей:

  • 32 - битной, с Альфа-каналом.
    Данная часть состоит из блоков по 4 байта:
    1. первый байт - альфа канал
    2. второй байт - интенсивность красного
    3. третий байт - интенсивность зеленого
    4. четвертый байт - интенсивность синего
  • 24 - битной, только RGB.
    Данная часть состоит из блоков по 3 байта:
    1. первый байт - интенсивность красного
    2. второй байт - интенсивность зеленого
    3. третий байт - интенсивность синего

Каждый пиксель изображения описан одним байтом, содержащим номер поля палитры, в котором сохранен цвет этого пикселя.

Данные

Данные аналогично формату PNG сжаты алгоритмом DEFLATE, его так же иногда именую zlib, но внутренний формат не сжатых данных отличен. Хранятся только непрозрачные или частично прозрачные пикселы, а массивы прозрачных пикселов пропускаются.

Личные инструменты