Image Delphi:从图像创建字符串并添加到备忘录
我有一张TImage组件中的图片。我需要将该图像转换为字符串,并将其放置在TMemo组件中。如何?您的代码可能是这样的Image Delphi:从图像创建字符串并添加到备忘录,image,delphi,stream,Image,Delphi,Stream,我有一张TImage组件中的图片。我需要将该图像转换为字符串,并将其放置在TMemo组件中。如何?您的代码可能是这样的 implementation uses EncdDecd; {$R *.dfm} procedure TForm1.Button1Click(Sender: TObject); var ss :TMemoryStream; begin ss :=TMemoryStream.Create(); try Image1.Picture.Graphi
implementation
uses
EncdDecd;
{$R *.dfm}
procedure TForm1.Button1Click(Sender: TObject);
var
ss :TMemoryStream;
begin
ss :=TMemoryStream.Create();
try
Image1.Picture.Graphic.SaveToStream(ss);
Memo1.Text := EncodeBase64(ss.Memory, ss.Size);
finally
ss.Free;
end;
end;
我想你是指
字符串而不是流?图片是二进制数据(并且TImage
可以保存许多不同二进制格式的图片),那么您希望在备忘录中显示什么呢?请提供有关您试图实现的目标的更多信息。我将进一步解释,让我们以下图为例:如果我们使用Specionar浏览器中的元素,将看到它是一个有8万个字符的字符串,因此结束(..2s/w/yjpbgig5p3qaaabjru5erkjggg==)我需要的是提取代表图像的所有文本并放置在备注字段中。查找Base64编码器注意EncodeBase64()
强制每75个字符换行一次。如果您不想这样做,则必须手动将其去除,或者使用不产生换行符的其他编码器,如Indy的TidEncoderMie
类,例如:Memo1.Text:=TidEncoderMie.EncoderStream(ss)代码>或tidecodermime.EncodeStream(ss,Memo1.line)代码>