Подтвердить что ты не робот

FireMonkey iOS RAD Studio XE2 - отображение изображения в форме, загруженной с URL-адреса

Возможно ли разместить TImage в форме FMX для iOS и загрузить изображение (jpg) из URL-адреса в этот TImage, который будет отображаться в приложении iOS?

Я пробовал без успеха. Любые намеки или точки в правильном направлении оцениваются.

4b9b3361

Ответ 1

Отбросьте TButton, TImageControl и 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;

Ответ 2

Ответ работает с небольшим замораживанием. Я загружаю 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;