![]() |
|
Модераторы: Poseidon, Snowy, bems, MetalFan |
![]()
|
|
| Ak47black |
|
|||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 2205 Регистрация: 2.12.2005 Репутация: 1 Всего: 0 |
Привет всем.
Вообшем я это вопрос уже создавал на форуме тут На первый взгляд все было понятно, но при реализации выяснилось что картинка(TBitmap) в Hex представлении (смотрю через WinHex) отличается по нескольким битам от той которая храниться в настройках форма, (я имею в виду тот кусок кода который храниться после зашифрованного размера), поэтому результат получаеться неправильный. Для меня это странно. Каким путем в делфи высшитываеться представление в Hex ? И самое главное, как мне тогда правильно сделать? |
|||
|
||||
| Alexeis |
|
|||
![]() Амеба Профиль Группа: Админ Сообщений: 11743 Регистрация: 12.10.2005 Где: Зеленоград Репутация: 109 Всего: 459 |
Где эти биты расположены? -------------------- Vit вечная память. Обсуждение действий администрации форума производятся только в этом форуме гениальность идеи состоит в том, что ее невозможно придумать |
|||
|
||||
| Ak47black |
|
|||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 2205 Регистрация: 2.12.2005 Репутация: 1 Всего: 0 |
||||
|
||||
| Alexeis |
|
|||
![]() Амеба Профиль Группа: Админ Сообщений: 11743 Регистрация: 12.10.2005 Где: Зеленоград Репутация: 109 Всего: 459 |
А точнее? Смещение относительно начала изображения какое? Похоже просто заголовок битмапа приводится к определенному формату, возможно он вообще сохраняет DDB, вместо DIB. Именно изменены значения? Остольные байты не смещены? -------------------- Vit вечная память. Обсуждение действий администрации форума производятся только в этом форуме гениальность идеи состоит в том, что ее невозможно придумать |
|||
|
||||
| Ak47black |
|
||||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 2205 Регистрация: 2.12.2005 Репутация: 1 Всего: 0 |
Я шас попробовал мног разных примеров с разными размерами и у меня вышло что давольна-таки много несоотвествий в некоторых случаях
Например одно и тоже изображение Вот так в Winhex
Вот так в Delphi настройках
Весь интернет перерыл но про такое нечего нету. |
||||
|
|||||
| Alexeis |
|
|||
![]() Амеба Профиль Группа: Админ Сообщений: 11743 Регистрация: 12.10.2005 Где: Зеленоград Репутация: 109 Всего: 459 |
Ak47black, я вижу таки данные имеют сдвиг на "007C0000E00300001F000000" такое число.
Такой вопрос - Если содердимое dfm файла сохранить в виде бинарника, то такое изображение откроется графическим редактором? Т.е. у меня остались сомнения, либо изображение конвертируется в другой тип DIB с измененым заголовком, тогда изображение должен легко открыть любой редактор, либо оно конвертирутеся в аппаратный DDB, тогда графические редакторы не смогут его прочитать. Добавлено @ 18:59 Возможно делфи приводит заголовок битмапа, из 5 версии скажем в 4-ю, тогда он должен получится короче на определенное число байт. Добавлено @ 19:05 Хотя не совпадает между 4 -й и 5-й версиями разница в 16 байт, а здесь 12 байт. Нестыковочка. Поскольку все таки выходит, что в Delphi настройках изображение короче, значит вероято это таки DDB. -------------------- Vit вечная память. Обсуждение действий администрации форума производятся только в этом форуме гениальность идеи состоит в том, что ее невозможно придумать |
|||
|
||||
| Ak47black |
|
|||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 2205 Регистрация: 2.12.2005 Репутация: 1 Всего: 0 |
Попробовал выдернуть из настроек форм изображения (начиная с 42) потом при помоши WinHex сохранил как Hex и в результате все редакторы открывают. Хотя размеры нормаьного изображения и выдернутого различаются.
|
|||
|
||||
| Alexeis |
|
|||
![]() Амеба Профиль Группа: Админ Сообщений: 11743 Регистрация: 12.10.2005 Где: Зеленоград Репутация: 109 Всего: 459 |
А изменено значение
bfOffBits: DWORD; - т.е. указатель на начало растра, это и не удивительно, раз заголовок сокращен, то начало битовой маски сдвинуто уже на другое число байт. Добавлено @ 19:12 Значит таки просто он снижает версию заголовка, а не конвертирует в DIB (Device Dependent Bitmap- образ битмапа в памяти, который обычно на диске не сохраняют) -------------------- Vit вечная память. Обсуждение действий администрации форума производятся только в этом форуме гениальность идеи состоит в том, что ее невозможно придумать |
|||
|
||||
| Ak47black |
|
||||||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 2205 Регистрация: 2.12.2005 Репутация: 1 Всего: 0 |
Еше первые строки различаються сразу видно
и 4 наподобии. Добавлено @ 19:15
А как мне можно это осушисвить при помоши дельфи? Добавлено @ 19:17 alexeis1 может вы знаете какуюнидь альтернативу тому, как получить код изобрения в формате дельфи кода форм знаю путь нахождения изображения, а то уж слишком тут большие дебри для меня, хотя всеровно попытаюсь осушествить. Это сообщение отредактировал(а) Ak47black - 15.10.2006, 19:18 |
||||||
|
|||||||
| Alexeis |
|
|||
![]() Амеба Профиль Группа: Админ Сообщений: 11743 Регистрация: 12.10.2005 Где: Зеленоград Репутация: 109 Всего: 459 |
пожалуй я неправ размер заголовка в обоих случаях $28 = 40 байт - что соответствует BitmapInfoHeader, значит, за заголовком в оригинале следует еще палитра.
Вообще сколько цветов в данном изображении? Больше 256 ? -------------------- Vit вечная память. Обсуждение действий администрации форума производятся только в этом форуме гениальность идеи состоит в том, что ее невозможно придумать |
|||
|
||||
| Ak47black |
|
|||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 2205 Регистрация: 2.12.2005 Репутация: 1 Всего: 0 |
Да. |
|||
|
||||
| Alexeis |
|
|||
![]() Амеба Профиль Группа: Админ Сообщений: 11743 Регистрация: 12.10.2005 Где: Зеленоград Репутация: 109 Всего: 459 |
Я же сказал уже это смещение на начало растра, поскольку делфи что-то убирает, то и это смещение соответствено указывет уже на другую позицию. Добавлено @ 19:28 Вообще это тогда неважно, делфи должен проглатить и ваш вариант тоже. Оба варианта верны, ничего не нужно менять, просто формат БМП, допускает небольшие модификации, но это никак не скажется на загрузке изображения. Добавлено @ 19:33 ААА блин все вспомнил!!! Формат допускает наличие 3-х масок для выделения каждого из цветов из числа Каждая маска по 4 байта - 4 * 3 = 12! Вот они 12 необязательных байт! Можете не беспокоится. Это не играет в данном случае ни какой роли. Все будет нормально и так, просто TBitmap не хочет записывать эти 12 байт, это его право. Но если они будут, то он все равно прочитает такое изображение. -------------------- Vit вечная память. Обсуждение действий администрации форума производятся только в этом форуме гениальность идеи состоит в том, что ее невозможно придумать |
|||
|
||||
| Ak47black |
|
|||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 2205 Регистрация: 2.12.2005 Репутация: 1 Всего: 0 |
Да вы правы, получилось
Добавлено @ 19:40 Мне еше вот что на счет этого формата непонятно как размер правильно записать там вроде все перевернуто. |
|||
|
||||
| Alexeis |
|
|||
![]() Амеба Профиль Группа: Админ Сообщений: 11743 Регистрация: 12.10.2005 Где: Зеленоград Репутация: 109 Всего: 459 |
Могу даже уверено сказать, что это изображение в формате 5-5-5 т.е. 16 бит на писель
-------------------- Vit вечная память. Обсуждение действий администрации форума производятся только в этом форуме гениальность идеи состоит в том, что ее невозможно придумать |
|||
|
||||
| Ak47black |
|
||||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 2205 Регистрация: 2.12.2005 Репутация: 1 Всего: 0 |
В мое прошлом посте вы писали
Hex(3AB10400)=Dec(984679424). Хотя по вашему правильно.
Да.Я ошибилься. |
||||
|
|||||
![]()
|
| Правила форума "Delphi: Общие вопросы" | |
|
|
Запрещается! 1. Публиковать ссылки на вскрытые компоненты 2. Обсуждать взлом компонентов и делиться вскрытыми компонентами
Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, Snowy, MetalFan, bems, Poseidon, Rrader. |
| 0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
| 0 Пользователей: | |
| « Предыдущая тема | Delphi: Общие вопросы | Следующая тема » |
|
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |