Модераторы: Poseidon, Snowy, bems, MetalFan
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Bitmap в текст (как в настройках формы) 
V
    Опции темы
Ak47black
  Дата 10.10.2006, 18:55 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Завсегдатай
Сообщений: 2205
Регистрация: 2.12.2005

Репутация: 1
Всего: 0



Как TBitmap перевести в текст (или код), в такой который храниться в настройках любой формы тоесть например
Код

Picture.Data = {
DFDFDFDFDFDFDFDFDFDFDFDFCFCFCFC
      FCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFBFBFBFBFBFBFBFBFB
      FBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFAFAFAFAFAFAFAFAFAFAFAFAFAFA
      FAFAFAFAFAFAFAFAFAFAFAFAFAFAFAFAFAFAFAF
}

Имею следуший код который переводит целые компоненты в код 
Код

function ComponentToString(RootObject: TComponent):TStringList;
var
  Stream: TMemoryStream;
  StringStream: TStringStream;
begin
  StringStream:= TStringStream.Create('');
  Stream:= TMemoryStream.Create;
  try
    Stream.WriteComponent(RootObject);
    Stream.Position := 0;
    ObjectBinaryToText(Stream, StringStream);
    Result:= TStringList.Create;
    Result.Text:= StringStream.DataString;
  finally
    Stream.Free;
    StringStream.Free;
  end;
end;

Как мне сделать так что-бы я смог переводить TBitMap ?

Это сообщение отредактировал(а) Ak47black - 10.10.2006, 18:55
PM MAIL   Вверх
Yanis
Дата 10.10.2006, 18:58 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Участник Клуба
Сообщений: 2937
Регистрация: 9.2.2004
Где: Москва

Репутация: 72
Всего: 111



Ak47black
Это обычный текст: каждые два символа - текстовое представление каждого байта картинки.

Это сообщение отредактировал(а) Yanis - 10.10.2006, 18:59


--------------------
user posted image *щёлк*
PM MAIL WWW ICQ   Вверх
Ak47black
Дата 10.10.2006, 19:23 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Завсегдатай
Сообщений: 2205
Регистрация: 2.12.2005

Репутация: 1
Всего: 0



Если я пытаюсь сравнить по следушиму коду, то точно не совпадает
Код

IntToHex(ColorToRGB(Image1.Picture.Bitmap.Canvas.Pixels[0,0]),6)

В какую мне хоть сторону рыть  smile 

Это сообщение отредактировал(а) Ak47black - 10.10.2006, 19:43
PM MAIL   Вверх
Alexeis
Дата 10.10.2006, 19:45 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Амеба
Group Icon


Профиль
Группа: Админ
Сообщений: 11743
Регистрация: 12.10.2005
Где: Зеленоград

Репутация: 109
Всего: 459



Ak47black, Я думаю, что нужно сохранять все содержимое. Т.е. целиком файл как он есть, но в виде 16-тиричных символов


--------------------
Vit вечная память.

Обсуждение действий администрации форума производятся только в этом форуме

гениальность идеи состоит в том, что ее невозможно придумать
PM ICQ Skype   Вверх
Ak47black
Дата 10.10.2006, 19:49 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Завсегдатай
Сообщений: 2205
Регистрация: 2.12.2005

Репутация: 1
Всего: 0



Мне нужно просто получить код самой картинки как строку.

Добавлено @ 19:49 
Делаю генератор форм.  smile

Добавлено @ 19:53 
Извиняюсь, если неправильно задал вопрос.

Это сообщение отредактировал(а) Ak47black - 10.10.2006, 19:49
PM MAIL   Вверх
Alexeis
Дата 10.10.2006, 20:09 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Амеба
Group Icon


Профиль
Группа: Админ
Сообщений: 11743
Регистрация: 12.10.2005
Где: Зеленоград

Репутация: 109
Всего: 459



Я проверил. Загрузил картинку (битмап в TImage). И начал искать ее сигнатуру в DFM файле. Вот
Вначале идет описательный фрагмент "07544269746D61703AB10400" а за ним весь остальной файл (целиком BMP файл).

Добавлено @ 20:11 
Я подозреваю что в DFM файле хранится не картинка, а ресурс (res файл с картинкой). Сейчас проверю...

Добавлено @ 20:24 
А теперь расшифруем 
Первый байт "07"                          - это сигнатура какая-то
дальше          "544269746D6170" - не что иное как аски представление "TBitmap"
затем             "3AB10400"             - размер файла (4 байта) = 307514

Дальше картинка 

Вот он и весь формат smile 


--------------------
Vit вечная память.

Обсуждение действий администрации форума производятся только в этом форуме

гениальность идеи состоит в том, что ее невозможно придумать
PM ICQ Skype   Вверх
dumb
Дата 10.10.2006, 21:07 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


sceloglauxalbifacies
****


Профиль
Группа: Экс. модератор
Сообщений: 2929
Регистрация: 16.6.2006

Репутация: 13
Всего: 158



Цитата(alexeis1 @  10.10.2006,  20:09 Найти цитируемый пост)
Первый байт "07"                          - это сигнатура какая-то

длина строки "TBitmap"
PM MAIL   Вверх
Ak47black
Дата 11.10.2006, 17:06 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Завсегдатай
Сообщений: 2205
Регистрация: 2.12.2005

Репутация: 1
Всего: 0



Спасибо alexeis1 ,все чётко и понятно.
PM MAIL   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "Delphi: Общие вопросы"
SnowyMetalFan
bemsPoseidon
Rrader

Запрещается!

1. Публиковать ссылки на вскрытые компоненты

2. Обсуждать взлом компонентов и делиться вскрытыми компонентами

  • Литературу по Дельфи обсуждаем здесь
  • Действия модераторов можно обсудить здесь
  • С просьбами о написании курсовой, реферата и т.п. обращаться сюда
  • Вопросы по реализации алгоритмов рассматриваются здесь
  • 90% ответов на свои вопросы можно найти в DRKB (Delphi Russian Knowledge Base) - крупнейшем в рунете сборнике материалов по Дельфи


Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, Snowy, MetalFan, bems, Poseidon, Rrader.

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Delphi: Общие вопросы | Следующая тема »


 




[ Время генерации скрипта: 0.0539 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.