![]() |
![]() |
Тёмный Эльф |
![]() ![]()
Сообщение
#1
|
![]() Влюблённый псих ![]() ![]() ![]() Группа: Пользователи Сообщений: 185 Пол: Женский Реальное имя: Лейла Репутация: ![]() ![]() ![]() |
Нужно в bmp файл "засунуть" текстовый файл. Не очень понимаю как это осуществить. Может быть представить два массива. В один считывать инфу из текстового файла ,а в другой из графического? Но можно ли будет потом простым присваиванием заменить байты??
Надо заменой байтов получить скрытое предложение в графическом файле... Я знаю еще, что для скрытия текста можно воспользоваться методом замены наименее значимых бит в глобальной палитре графического файла по алгоритму: в каждом байте палитры записывается в результирующий файл. не совсем ясный алгоритм. и еще: палитра здесь имеется ввиду,что 256 элементов по 4 байта (из структуры bmp) ? Есть ли у кого-нибудь есть идеи насчет этого, то напишите пожалуйста. |
![]() ![]() |
andriano |
![]()
Сообщение
#2
|
Гуру ![]() ![]() ![]() ![]() ![]() Группа: Пользователи Сообщений: 1 168 Пол: Мужской Реальное имя: Сергей Андрианов Репутация: ![]() ![]() ![]() |
Речь изначально шла о файле.
В файле искомые байты находятся по смещению 57+i*4, i=0..255 |
Unknown |
![]()
Сообщение
#3
|
![]() Пионер ![]() ![]() Группа: Пользователи Сообщений: 104 Пол: Мужской Реальное имя: Евгений Репутация: ![]() ![]() ![]() |
Речь изначально шла о файле. В файле искомые байты находятся по смещению 57+i*4, i=0..255 Ага, пасиб! только 57 - это для какого типа файлов? bmp? -------------------- go ask Alice
|
andriano |
![]()
Сообщение
#4
|
Гуру ![]() ![]() ![]() ![]() ![]() Группа: Пользователи Сообщений: 1 168 Пол: Мужской Реальное имя: Сергей Андрианов Репутация: ![]() ![]() ![]() |
Ага, пасиб! только 57 - это для какого типа файлов? bmp? Для единственного типа - с глубиной цвета 8 бит (256 цветов). Речь шла именно о палитре с 256-ю 4-байтовыми элементами. При бОльшей глубине цвета палитры в файле вообще нет, а при меньшей - сам массив палитры слишком короткий. Добавлено через 2 мин. Править двоичный файл - некрасиво. Что мешает в память загрузить BMP файл в объект типа TBitmap? Тем более, что этот класс позовляет работать с двоичными данными через ScanLine. И никаких "волшебств" со смещениями в файле и прочим. Напротив, самый простой способ - blockread, change, blockwrite, и никаких заморочек со специфичечкими библиотеками. |
![]() ![]() |
![]() |
Текстовая версия | 8.07.2025 8:01 |