|
01.04.2011, 17:13
|
#1
|
Зануда с интернетом
Регистрация: 04.09.2005
Сообщений: 14,014
Написано 6,798 полезных сообщений (для 20,935 пользователей)
|
Image
Каким образом кодируется image внутри DFM? Явно, что используется некий аналог Base64 (UUE?). Но, может кто-то сталкивался?
object Image1: TImage
Left = -144
Top = -48
Width = 465
Height = 353
Picture.Data = {
0A544A504547496D6167655F790000FFD8FFE000104A46494600010101004800
480000FFDB00430006040506050406060506070706080A100A0A09090A140E0F
0C1017141818171416161A1D251F1A1B231C1616202C20232627292A29191F2D
302D283025282928FFDB0043010707070A080A130A0A13281A161A2828282828
2828282828282828282828282828282828282828282828282828282828282828
28282828282828282828282828FFC000110801B0024003012200021101031101
FFC4001C00000203010101.....
D2F8AED56EF24407928564E3CC72EC58AA1CF09C634973EC1FFD4A066745278E
DC3EA9A39A5ADA3B858E7EA5A0CAEAB07233924FD0AA3AA874E608FF002DF986
EB06D2E6BC8DA41DD742B154DEE6ECFA2D7D743A7D46A2593A78234DBE981CEB
25BDAF03EBFBA73952424ACFFFD9}
Transparent = True
end
__________________
http://nabatchikov.com
Мир нужно делать лучше и чище. Иначе, зачем мы живем? tormoz
А я растила сына на преданьях
о принцах, троллях, потайных свиданьях,
погонях, похищениях невест.
Да кто же знал, что сказка душу съест?
|
(Offline)
|
|
02.04.2011, 01:41
|
#2
|
Модератор
Регистрация: 03.04.2007
Сообщений: 2,252
Написано 597 полезных сообщений (для 817 пользователей)
|
Ответ: Image
Похоже, начиная с некоторой позиции и до конца идут данные BMP в чистом виде, но вот что перед ними - не понятно.
|
(Offline)
|
|
02.04.2011, 02:25
|
#3
|
Blitz's Shame !!
Регистрация: 31.03.2007
Сообщений: 3,639
Написано 832 полезных сообщений (для 2,013 пользователей)
|
Ответ: Image
сначало идет хеадер (заголовок файла) в бмп 56 первых байт вроде как !! Ну а потом собсвенно все данные один в один в незжатом вде !!
Вообще уточнять на вики и в гугле !! Есть полное описание формата !!
|
(Offline)
|
|
02.04.2011, 02:43
|
#4
|
Зануда с интернетом
Регистрация: 04.09.2005
Сообщений: 14,014
Написано 6,798 полезных сообщений (для 20,935 пользователей)
|
Ответ: Image
ткни в линк на описание DFM, плиз.
2ViNT,IGR нетрудно заметить ограниченность используемого для кодирования алфавита (причина - простота парсенья: не надо отслеживать эскейп-последовательности). В то время как в БаМПере (24БПП для наглядности) каждый пиксель кодируется тремя символами с алфавитом размером 256.
__________________
http://nabatchikov.com
Мир нужно делать лучше и чище. Иначе, зачем мы живем? tormoz
А я растила сына на преданьях
о принцах, троллях, потайных свиданьях,
погонях, похищениях невест.
Да кто же знал, что сказка душу съест?
Последний раз редактировалось impersonalis, 02.04.2011 в 15:10.
|
(Offline)
|
|
02.04.2011, 19:28
|
#5
|
Злобный Админ
Регистрация: 04.09.2005
Сообщений: 5,926
Написано 3,415 полезных сообщений (для 9,330 пользователей)
|
Ответ: Image
Имхо это тупо хексы побайтно, только битмап.. хидер текстом дан..
__________________
|
(Offline)
|
|
Сообщение было полезно следующим пользователям:
|
|
02.04.2011, 19:34
|
#6
|
Модератор
Регистрация: 03.04.2007
Сообщений: 2,252
Написано 597 полезных сообщений (для 817 пользователей)
|
Ответ: Image
Заголовок там вообще немного странный - если парсить просто как хексы - в самом начале есть запись TBitmap (что указывает на то, что по крайней мере в начале алфавит обычный), но потом ни каких осмысленных текстовых данных. Так что, возможно, там присутствует какое-то бинарное представление объекта TBitmap.
Под "данными BMP в чистом виде" я, собственно, и подразумевал запись байтов хексами. Просто я сравнивал текст и HEX-представление исходного файла изображения и находил по крайней мере совпадающие блоки (анализировал только отдельные куски).
|
(Offline)
|
|
Сообщение было полезно следующим пользователям:
|
|
26.01.2012, 23:58
|
#7
|
Зануда с интернетом
Регистрация: 04.09.2005
Сообщений: 14,014
Написано 6,798 полезных сообщений (для 20,935 пользователей)
|
Ответ: Image
Ап. Опять чо-ли самому кодить?
__________________
http://nabatchikov.com
Мир нужно делать лучше и чище. Иначе, зачем мы живем? tormoz
А я растила сына на преданьях
о принцах, троллях, потайных свиданьях,
погонях, похищениях невест.
Да кто же знал, что сказка душу съест?
|
(Offline)
|
|
27.01.2012, 01:04
|
#8
|
Модератор
Регистрация: 03.04.2007
Сообщений: 2,252
Написано 597 полезных сообщений (для 817 пользователей)
|
Ответ: Image
(Если не напутал)
Группы по 2 символа - HEX-коды байтов (далее такая группа называется "байтом").
Первый байт - всегда 0x07 (не точно).
Следующие 7 байт - текст TBitmap.
Следующие 4 байта - размер данных, совпадает с аналогичной записью в заголовке BMP файла. Байты записаны в обратном порядке.
Дальше до конца - загруженный BMP файл, (заголовок и данные, как на диске).
|
(Offline)
|
|
Сообщение было полезно следующим пользователям:
|
|
27.01.2012, 09:23
|
#9
|
Мастер
Регистрация: 09.05.2010
Адрес: Самара
Сообщений: 1,083
Написано 254 полезных сообщений (для 533 пользователей)
|
Ответ: Image
хексы побайтно вродекак, когда то баловался. А зачем тебе это вообще?
|
(Offline)
|
|
Сообщение было полезно следующим пользователям:
|
|
27.01.2012, 11:21
|
#10
|
Зануда с интернетом
Регистрация: 04.09.2005
Сообщений: 14,014
Написано 6,798 полезных сообщений (для 20,935 пользователей)
|
Ответ: Image
Ну, первое применение, приходящее в голову - модифицировать картинки своих программ, исходники от которых утеряны.
__________________
http://nabatchikov.com
Мир нужно делать лучше и чище. Иначе, зачем мы живем? tormoz
А я растила сына на преданьях
о принцах, троллях, потайных свиданьях,
погонях, похищениях невест.
Да кто же знал, что сказка душу съест?
|
(Offline)
|
|
27.01.2012, 11:32
|
#11
|
Мастер
Регистрация: 09.05.2010
Адрес: Самара
Сообщений: 1,083
Написано 254 полезных сообщений (для 533 пользователей)
|
Ответ: Image
Сообщение от impersonalis
Ну, первое применение, приходящее в голову - модифицировать картинки своих программ, исходники от которых утеряны.
|
так можно просто создать пустой проект открыть эту dfm ку и вытащить картинку из TImage, там можно сохранить на жесткий диск, и редактируй как тебе надо и снова загружай в форму
|
(Offline)
|
|
Сообщение было полезно следующим пользователям:
|
|
27.01.2012, 19:09
|
#12
|
ПроЭктировщик
Регистрация: 19.02.2011
Сообщений: 134
Написано 81 полезных сообщений (для 219 пользователей)
|
Ответ: Image
Сообщение от ViNT
Первый байт - всегда 0x07 (не точно).
Следующие 7 байт - текст TBitmap.
|
Можно предположить что 0x07 = длина строки, с которой начинается hex-блок, и которая указывает на фомат содержимого. Не похоже на то что в конце-концов в дельфи было добавлено "приведение типов" для содержимого других форматов, но все же.
Сообщение от pozitiffcat
так можно просто создать пустой проект открыть эту dfm ку и вытащить картинку из TImage, там можно сохранить на жесткий диск, и редактируй как тебе надо и снова загружай в форму
|
Can haz HQ avatar:
No JPEG blocks implemented.
__________________
Мой сайт-блог. Игры, обновления, примеры для Haxe, JavaScript(+HTML5), GameMaker, Love2d...
|
(Offline)
|
|
Сообщение было полезно следующим пользователям:
|
|
27.01.2012, 19:18
|
#13
|
Модератор
Регистрация: 03.04.2007
Сообщений: 2,252
Написано 597 полезных сообщений (для 817 пользователей)
|
Ответ: Image
Сообщение от YellowAfterlife
Можно предположить что 0x07 = длина строки, с которой начинается hex-блок, и которая указывает на фомат содержимого.
|
Точно, именно так строки в паскале и представляются, как-то я не обратил на это внимаеия.
|
(Offline)
|
|
Сообщение было полезно следующим пользователям:
|
|
Ваши права в разделе
|
Вы не можете создавать темы
Вы не можете отвечать на сообщения
Вы не можете прикреплять файлы
Вы не можете редактировать сообщения
HTML код Выкл.
|
|
|
Часовой пояс GMT +4, время: 20:33.
|