FireMonkey iOS RAD Studio XE2-在从URL加载的表单上显示图像
是否可以在iOS的FMX表单上放置一个TImage,并将URL中的图像(jpg)加载到此TImage中,以便在iOS应用程序中显示FireMonkey iOS RAD Studio XE2-在从URL加载的表单上显示图像,ios,delphi,url,firemonkey,timage,Ios,Delphi,Url,Firemonkey,Timage,是否可以在iOS的FMX表单上放置一个TImage,并将URL中的图像(jpg)加载到此TImage中,以便在iOS应用程序中显示 我试过了,但没有成功。任何指向正确方向的提示或点都值得欣赏。将TButton、TImageControl和TIdHttp放到Firemonkey表单上,此代码将从web上下拉图像: procedure TForm1.btnReadWebImgClick(Sender: TObject); begin ReadWebImage('http://www.gravat
我试过了,但没有成功。任何指向正确方向的提示或点都值得欣赏。将TButton、TImageControl和TIdHttp放到Firemonkey表单上,此代码将从web上下拉图像:
procedure TForm1.btnReadWebImgClick(Sender: TObject);
begin
ReadWebImage('http://www.gravatar.com/avatar/5af5f8c5f88c6c237745e9472a31410f?s=32&d=identicon&r=PG');
end;
procedure TForm1.ReadWebImage(imgAddress: string);
var
memStream: TMemoryStream;
begin
memStream := TMemoryStream.Create;
try
idhttp1.Get (imgAddress,memStream);
except
ShowMessage('Image not found at:'+imgAddress);
memStream.Free;
exit;
end;
try
memStream.Position := 0;
ImageControl1.Bitmap.LoadFromStream(memStream);
finally
memStream.Free;
end;
end;
答案有点僵硬。 我在一个循环中加载4个图像。 当我按下按钮时,程序冻结以下载图像,进度条不工作,如果下载继续进行。 对于4个图像,冻结1秒。对于50岁的人来说,这是一个“没有连接”或“糟糕的程序”。 这是代码
procedure TForm1.SpeedButton1Click(Sender: TObject);
var
i: Integer;
Stream: TMemoryStream;
imgAddress: string;
begin
ProgressBar1.Min := 0;
ProgressBar1.Max := Table1.RecordCount;
for i := 1 to Table1.RecordCount do
begin
ProgressBar1.Value := i;
imgAddress := VirtualTable1.FieldByName('flyer').AsString;
Stream := TMemoryStream.Create;
idhttp1.Get (imgAddress,Stream);
try
Stream.Position := 0;
Table1.Edit;
TBlobField(Table1.FieldByName('image')).LoadFromStream(Stream);
Table1.Post;
finally
Stream.Free;
end;
Table1.Next;
end;
Table1.First;
end;
如果没有看到您编写的失败代码,很难说这个琐碎的任务出了什么问题。对不起,Krom,我可能错了,但目前Firemonkey中没有任何comms对象。我已经搜索了很多xcode示例,但是没有一个是关于FMX的。如果有任何提示,请给我指出正确的方向,那么你是说具体的时间?为什么不能使用FMX TImage类?我假设UIWebView用于检索流或其他内容,然后加载到TImage中。很抱歉我的无知,但所有这些苹果框架对我来说都是陌生的。