Форум: "Потрепаться";
Текущий архив: 2005.02.13;
Скачать: [xml.tar.bz2];
ВнизКак докапаться до 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;
Скачать: [xml.tar.bz2];
Память: 0.46 MB
Время: 0.053 c