Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Netzwerke (https://www.delphipraxis.net/14-netzwerke/)
-   -   Delphi Image aus Webbrowser in TImage (https://www.delphipraxis.net/94630-image-aus-webbrowser-timage.html)

ebber 24. Jun 2007 15:11


Image aus Webbrowser in TImage
 
Hallo

ich möchte ein Image das auf einer Website ist in ein TImage laden.
Die url zum Image bekomme ich so raus :

Delphi-Quellcode:

Webbrowser1.OleObject.Document.Images.Item(2).Src;
Das Bild soll dann nur ein mal ins TImage geladen werden.
Also so was wie das, blos dass das nicht geht :

Delphi-Quellcode:

Image1.picture.LoadFromFile(url);
Ich habe auch schon gesucht !! (wie immer) Ich habe das hier gefunden : http://www.delphipraxis.net/internal...ct.php?t=79679

Zitat:

Du ermittelst die gecachte Datei des Bildes und laedst es in eine Image-Komponente
Das funktioniert auch mit allen Bildern, blos nicht mit dem, das ich will. Es ist ein, wie alle die ich versucht hab ein .jpg und die url findet es auch raus. Gib es da auch Bilder die nicht gecached werden ?

Kann ich das noch irgendwie anders lösen ?

MfG

mkinzler 24. Jun 2007 15:25

Re: Image aus Webbrowser in TImage
 
TWEbBrowser ist ja nur ein Wrapper um das ActiveX-Controls des IE. Man könnte per Indy die datei Laden.

ebber 24. Jun 2007 15:43

Re: Image aus Webbrowser in TImage
 
Also geht das nicht anders mit dem Webbrowser ?

Ich habe das hier gefunden :

Delphi-Quellcode:

var
  MyStream : TFilestream;
begin
  MyStream := TFilestream.Create('c:\Test.jpg',fmCreate);
  idhttp1.Get(url,MyStream);
  MyStream.Free;
Kann ich das jetzt auch direkt in mein TImage laden ohne zwischenspeichern ?

MfG

Apollonius 24. Jun 2007 15:46

Re: Image aus Webbrowser in TImage
 
Du nimmst einen TMemoryStream und lädst das ganze mit .loadfromstream in das TImage.

mkinzler 24. Jun 2007 15:46

Re: Image aus Webbrowser in TImage
 
Ja, wenn du den Stream ins Image lädst.
Sollte so gehen:
Delphi-Quellcode:
Image.Picture.Bitmap.LoadFromStream();

ebber 24. Jun 2007 15:56

Re: Image aus Webbrowser in TImage
 
Ich habe das jetzt versucht, aber es will nicht :

Delphi-Quellcode:

var
  stream : Tmemorystream;
begin

  stream := TMemorystream.Create;

  idhttp1.Get(url,stream);
  Image1.Picture.Bitmap.LoadFromStream(stream);
  stream.free;
Was habe ich falsch gemacht ?

MfG

marabu 24. Jun 2007 15:59

Re: Image aus Webbrowser in TImage
 
Hallo,

zumindest musst du nach dem Download die Position des Streams wieder auf 0 zurück setzen, sonst kann nichts geladen werden.

Grüße vom marabu

ebber 24. Jun 2007 16:08

Re: Image aus Webbrowser in TImage
 
Danke, ich habs geschafft :)

Delphi-Quellcode:

var    stream : Tmemorystream;
     jpg : TJPEGImage;
begin

  stream := TMemorystream.Create;
  jpg := TJPEGImage.Create;

  idhttp1.Get(url,Stream);
  stream.position:=0;
  jpg.LoadFromStream(stream);
  Image1.Picture.Assign(jpg);

  jpg.Free;
  stream.free;
MfG


Alle Zeitangaben in WEZ +1. Es ist jetzt 19:00 Uhr.

Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz