Формат снимков в кэше GE 5.1.3533.1731
- vdemidov
- Гуру
- Сообщения: 1687
- Зарегистрирован: 12 дек 2008, 13:10
- Откуда: Киев
- Благодарил (а): 191 раз
- Поблагодарили: 157 раз
Re: Формат снимков в кэше GE 5.1.3533.1731
Попробуй нагенерить других тайлов, во-первых чернобелых с разным заполнением верхнего левого квадратика 4 на 4, во-вторых таких же, но разных цветов. В первую очередь следует проверить догадку что оно кодируется блоками, а во вторых нужно обратить внимание на четвертую четверку байт в шапке.
Чтобы понять программу, вы должны стать одновременно и машиной, и программой.
-
zed
- Гуру
- Сообщения: 2888
- Зарегистрирован: 16 авг 2008, 20:21
- Благодарил (а): 89 раз
- Поблагодарили: 568 раз
Re: Формат снимков в кэше GE 5.1.3533.1731
Да, так и есть - кодируется 4*4 pix, т.е. имеем таблицу 64*64 элемента по 8 байт.
Тогда в заголовке, вот это:
говорит о наличии/отсутствии (бит установлен/сброшен) строки или столбца в таблице. Только почему первый бит = 0?
Дальше изменял первый блок последней строки (для удобства, чтоб в редакторе не шарится по телу тайла). Вот скрин + изменения в тайле:
Т.е. в элементе можно выделить 2 блока по 4 байта. Первый блок завязан на цвет, второй - флаги пикселей - каждый байт описывает строку из 4-х пикселей, итого по 2 бита на пиксель. В первом примере, первая строка: FE = 11 11 11 10 (где 10 описывает 1-й пиксель в строке - на картинке это зелёный пиксель). Получается, что каждый пиксель может находиться в одном из 4-х состояний, в зависимости от которого и рассчитывается его цвет.
Тогда в заголовке, вот это:
Код: Выделить всё
FF FF FF FF FF FF FF 7F = 0111 1111 1111 1111 1111 1111 1111 1111 1111 1111 1111 1111 1111 1111 1111 1111 (64 бита) говорит о наличии/отсутствии (бит установлен/сброшен) строки или столбца в таблице. Только почему первый бит = 0?
Дальше изменял первый блок последней строки (для удобства, чтоб в редакторе не шарится по телу тайла). Вот скрин + изменения в тайле:
Код: Выделить всё
Offset 0 1 2 3 4 5 6 7 8 9 A B C D E F
00000000 4F 82 A3 31 00 01 00 00 00 01 00 00 88 D2 1C 04 O‚£1........ˆÒ..
00000010 FF FF FF FF FF FF FF 7F 7F EF 00 00 D8 90 EE FE ÿÿÿÿÿÿÿï..ØîþКод: Выделить всё
Offset 0 1 2 3 4 5 6 7 8 9 A B C D E F
00000000 4F 82 A3 31 00 01 00 00 00 01 00 00 00 00 00 00 O‚£1............
00000010 FF FF FF FF FF FF FF 7F FF FF 00 00 55 41 41 55 ÿÿÿÿÿÿÿÿÿ..UAAUТ.е. в элементе можно выделить 2 блока по 4 байта. Первый блок завязан на цвет, второй - флаги пикселей - каждый байт описывает строку из 4-х пикселей, итого по 2 бита на пиксель. В первом примере, первая строка: FE = 11 11 11 10 (где 10 описывает 1-й пиксель в строке - на картинке это зелёный пиксель). Получается, что каждый пиксель может находиться в одном из 4-х состояний, в зависимости от которого и рассчитывается его цвет.
-
zed
- Гуру
- Сообщения: 2888
- Зарегистрирован: 16 авг 2008, 20:21
- Благодарил (а): 89 раз
- Поблагодарили: 568 раз
Re: Формат снимков в кэше GE 5.1.3533.1731
По поводу первого блока есть мысль, что это максимальное и минимальное значения цвета в элементе. Тогда состояние пикселя - отклонение его цвета от максимального/минимального. Что-то вроде:
00 - минимальное
01 - максимальное
10 - сильное минимальное
11 - сильное максимальное
Для расчёта цвета с учётом степени отклонения, видимо, используются 4 байта из заголовка файла (четвёртая четвёрка).
00 - минимальное
01 - максимальное
10 - сильное минимальное
11 - сильное максимальное
Для расчёта цвета с учётом степени отклонения, видимо, используются 4 байта из заголовка файла (четвёртая четвёрка).
- vdemidov
- Гуру
- Сообщения: 1687
- Зарегистрирован: 12 дек 2008, 13:10
- Откуда: Киев
- Благодарил (а): 191 раз
- Поблагодарили: 157 раз
Re: Формат снимков в кэше GE 5.1.3533.1731
Мда. Нагенери все-таки побольше разных чернобелых хаполнений квадратика. И еще разными цветами заполни весь квадратик 4 на 4.
Чтобы понять программу, вы должны стать одновременно и машиной, и программой.
-
zed
- Гуру
- Сообщения: 2888
- Зарегистрирован: 16 авг 2008, 20:21
- Благодарил (а): 89 раз
- Поблагодарили: 568 раз
Re: Формат снимков в кэше GE 5.1.3533.1731
Составил табличку соответствия цветов:
всего получаем 65k цветов.
В принципе, если в блоке не более 2-х цветов, то уже сейчас можно этот блок превратить в картинку, а вот если цветов больше, то хз...
Похоже, это формат с потерями, т.е. после восстановления картинки, исходных цветов мы не получим?
Код: Выделить всё
цвет web ghex
белый ff ff ff ff ff
чёрный 00 00 00 00 00
красный ff 00 00 f8 00
синий 00 00 ff 00 1f
зелёный 00 ff 00 07 e0
оттенки ff 00 ff f8 1f
00 ff ff 07 ff
ff ff 00 ff e0всего получаем 65k цветов.
В принципе, если в блоке не более 2-х цветов, то уже сейчас можно этот блок превратить в картинку, а вот если цветов больше, то хз...
Похоже, это формат с потерями, т.е. после восстановления картинки, исходных цветов мы не получим?
Последний раз редактировалось zed 27 дек 2009, 19:54, всего редактировалось 1 раз.
- vdemidov
- Гуру
- Сообщения: 1687
- Зарегистрирован: 12 дек 2008, 13:10
- Откуда: Киев
- Благодарил (а): 191 раз
- Поблагодарили: 157 раз
Re: Формат снимков в кэше GE 5.1.3533.1731
Ты уверен, что в табличке для оттенков правильно порядок байт записал? А то выходит странно. Судя по табличке отдельных цветов там на синий и красный идет по 5 бит, а на зеленый 6 бит.
Чтобы понять программу, вы должны стать одновременно и машиной, и программой.
-
zed
- Гуру
- Сообщения: 2888
- Зарегистрирован: 16 авг 2008, 20:21
- Благодарил (а): 89 раз
- Поблагодарили: 568 раз
Re: Формат снимков в кэше GE 5.1.3533.1731
Кажись не перепутал. См. пример 9, все оттенки с него взяты.
- vdemidov
- Гуру
- Сообщения: 1687
- Зарегистрирован: 12 дек 2008, 13:10
- Откуда: Киев
- Благодарил (а): 191 раз
- Поблагодарили: 157 раз
Re: Формат снимков в кэше GE 5.1.3533.1731
Тогда странно. Просто не аддитивно выходит. А должно бы. судя по белому и черному цветам.
Последний раз редактировалось vdemidov 27 дек 2009, 19:51, всего редактировалось 1 раз.
Чтобы понять программу, вы должны стать одновременно и машиной, и программой.
- vdemidov
- Гуру
- Сообщения: 1687
- Зарегистрирован: 12 дек 2008, 13:10
- Откуда: Киев
- Благодарил (а): 191 раз
- Поблагодарили: 157 раз
Re: Формат снимков в кэше GE 5.1.3533.1731
Таки ты перепутал. Для чистых цветов порядок байт поменял, а для смешанных забыл.
Чтобы понять программу, вы должны стать одновременно и машиной, и программой.
-
zed
- Гуру
- Сообщения: 2888
- Зарегистрирован: 16 авг 2008, 20:21
- Благодарил (а): 89 раз
- Поблагодарили: 568 раз
Re: Формат снимков в кэше GE 5.1.3533.1731
vdemidov писал(а):Таки ты перепутал. Для чистых цветов порядок байт поменял, а для смешанных забыл.
Исправил.