Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2005.02.13;
Скачать: CL | DM;

Вниз

Как докапаться до Picture.Data в TImage?   Найти похожие ветки 

 
OneFragLeft ©   (2005-01-25 07:15) [0]

На форме есть TImage с загруженным в него рисунком.
Если сделать на форме View as Text, то там будет примерно следующий код:

object Image1: TImage
   Left = 72
   Top = 40
   Width = 48
   Height = 48
   AutoSize = True
   Picture.Data = {
     07544269746D617042120000424D421200000000000042000000280000003000
     000030000000010010000300000000120000120B0000120B0000000000000000
     0000007C0000E00300001F0000003B4F3B4B3B4B3B4B3B4B3B4B3B4B3B4B3B4B
        ....................
     4A296B2D8C318C35AD39AD39AD398C352929A61409214A25E814C60C840C6308
     8D213B471B471B471B471B471B4B3B4B1B}
   End

Как можно извлечь данные, которые находятся в Picture.Data и сохранить в файл в виде текста в программе,
а не из Дельфи?


 
OneFragLeft ©   (2005-01-25 07:55) [1]

Может я, конечно, в шарЫ долблюсь с утра, но вот только не нашёл я такого свойства у Image!!!!!
В чём же дело?


 
КаПиБаРа ©   (2005-01-25 08:04) [2]

Image.Picture.SaveToFile


 
КаПиБаРа ©   (2005-01-25 08:08) [3]

Если в виде текста, то сохранить рисунок в поток SaveToStream, а потом преобразовать в текст и записать в файл.


 
OneFragLeft ©   (2005-01-25 08:36) [4]

SaveToStream есть у TGraphic. Но вот как вытащить текст из потока?...это уже вопрос серьёзный.
Не поможете разобраться что и как делать?


 
MBo ©   (2005-01-25 09:05) [5]

см пример в справке TStream.WriteComponent


 
OneFragLeft ©   (2005-01-25 10:30) [6]

Ну вроде понял как сохранить. А вот как теперь эти данные запихнуть в другой Image?
ReadComponent? Но вот с ним проблемы.

function StringToComponent(Value: string): TComponent;
var
 StrStream:TStringStream;
 BinStream: TMemoryStream;
begin
 StrStream := TStringStream.Create(Value);
 try
   BinStream := TMemoryStream.Create;
   try
     ObjectTextToBinary(StrStream, BinStream);
     BinStream.Seek(0, soFromBeginning);
     Result := BinStream.ReadComponent(nil);

   finally
     BinStream.Free;
   end;
 finally
   StrStream.Free;
 end;
end;


Как вставить в компонент только данные из Data, а не весь компонент?


 
Ega23 ©   (2005-01-25 10:35) [7]

Image1.Picture.Bitmap.SaveToFile("C:\1.bmp");
Image2.Picture.Bitmap.LoadFromFile("C:\1.bmp");

или

var
ms:TMemoryStream;

begin
ms:=TMemoryStream.Create;
try
 Image1.Picture.Bitmap.SaveToStream(ms);
 Image2.Picture.Bitmap.LoadFromStream(ms)  ;
finally
 ms.Free;
end;


 
OneFragLeft ©   (2005-01-25 10:42) [8]

Может я плохо чего объяснил, но надо выдрать из одного Image текст(именно текст, как он есть) и вставить его в другой Image.
Дело в том, что я хочу попробовать передавать изображение по сети в виде текста, а не в виде файла.


 
Ega23 ©   (2005-01-25 10:46) [9]

2 OneFragLeft ©   (25.01.05 10:42) [8]

Т.е. на канве что-то написано, а ты хочешь это что-то распознать и запихнуть в текст?


 
OneFragLeft ©   (2005-01-25 10:49) [10]

>Ega23 ©   (25.01.05 10:46) [9]
смотри OneFragLeft ©   (25.01.05 7:15)



Страницы: 1 вся ветка

Текущий архив: 2005.02.13;
Скачать: CL | DM;

Наверх




Память: 0.47 MB
Время: 0.03 c
14-1106230703
Alexander Panov
2005-01-20 17:18
2005.02.13
Питерцы, старый телевизор нужен?


1-1107264731
wolf2541
2005-02-01 16:32
2005.02.13
file not found fadeworks.dcu


4-1103639572
tradakad
2004-12-21 17:32
2005.02.13
Получение хендла приложения если нет формы


3-1104235522
Некто
2004-12-28 15:05
2005.02.13
отсутствует свойство в IBTransaction


4-1104192071
Unleashed
2004-12-28 03:01
2005.02.13
Про Usb порты





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский