Jak najprościej pokazać w formie obrazek z adresu HTTP, ale bez pobierania go? Czy to w ogóle możliwe? TWebBrowser się nada czy coś prostszego? Chodzi o zwykły jpg, bądź png.
W jaki sposób chcesz mieć obrazek u siebie bez pobierania go? Przecież to jest fizycznie niemożliwe.
Spróbuj udzielić odpowiedzi na analogiczne pytanie:jak sprawdzić jakie słowo znajduje się na trzeciej stronie podręcznika Xyz bez otwierania tego podręcznika?
Prawda źle się wyraziłem, może bez przechowywania tzn pisania funkcji do kasowania tmp czy jest jakiś gotowiec.
Chodziło mi o to żeby go wyświetlić i żeby już nie był potrzebny na dysku.
Pakiet Indy
umożliwia pobieranie wprost do TMemoryStream
na przykład.
Patryk, tylko, że żaden przykład nie działa podany w necie, znasz jakiś konkretny działający kod albo URL do rozwiązania?
Nie działa
to se może powiedzieć pani Barbara w okienku - konkretnie co się dzieje?
np to: https://4programmers.net/Forum/1257931
Runtime error na starcie zwiecha
Użyj debuggera i dowiedz się konkretniej.
Debugger zatrzymuje na idHTTP tutaj, DoRequest się wywala:
procedure TIdCustomHTTP.Get(AURL: string; AResponseContent: TStream;
AIgnoreReplies: array of SmallInt);
begin
DoRequest(Id_HTTPMethodGet, AURL, nil, AResponseContent, AIgnoreReplies);
end;
Tyczy się to tego kodu:
procedure TForm1.button1Click(Sender: TObject);
var
MS : TMemoryStream;
GIf: TGIFImage;
IdHTTP1: TIdHTTP;
begin
MS := TMemoryStream.Create;
GIf := TGIFImage.Create;
try
IdHTTP1.get('http://www.google.com/intl/en_ALL/images/logo.gif',MS);
Ms.Seek(0,soFromBeginning);
Gif.LoadFromStream(MS);
img1.Picture.Assign(GIF);
finally
FreeAndNil(GIF);
FreeAndNil(MS);
end;
end;
end.
No a gdzie tworzysz instancję TIdHttp
? ;p