FireMonkey iOS RAD Studio XE2 – 从URL加载的表单上显示图像

是否可以在iOS上的FMX表单上放置一个TImage,并从URL中加载图像(jpg)到这个TImage中以显示在iOS应用程序中?

我尝试过没有成功。 任何提示或指向正确的方向表示赞赏。

将一个TButton,TIm​​ageControl和TIdHttp放到一个Firemonkey表单上,这段代码将从网上下载一个图像:

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个图像。 当我按下button,程序冻结下载图像,进度条不工作,如果下载继续完美。 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;