Delphi-PRAXiS
Seite 2 von 4     12 34      

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Netzwerke (https://www.delphipraxis.net/14-netzwerke/)
-   -   Delphi TJPEGimage (https://www.delphipraxis.net/142331-tjpegimage.html)

himitsu 26. Okt 2009 14:08

Re: TJPEGimage
 
Wenn du echt alle probiert hättest, dann würde es jetzt gehn!

Was hast du denn aktuell für Code?

Detrox 26. Okt 2009 14:14

Re: TJPEGimage
 
aktuell immer noch diesen
Delphi-Quellcode:
var
  myClient: TidHTTP;
  myMemoryStream: TMemoryStream;
  myJPEG: TJPEGimage;
begin
  myClient := TidHTTP.Create(Self);
  myMemoryStream := TMemoryStream.Create;
  myJPEG := TJPEGImage.Create;

  try
    myClient.Get('http://meinbild.de/bild.jpg', myMemoryStream);
    myMemoryStream.Position := 0;
    myJPEG.LoadFromStream(myMemoryStream);
  finally
    myJPEG.Free;
    myMemoryStream.Free;
    myClient.Free;
  end;
end;
habe halt versucht aus dem JPEg EIn TImage zu machen aber das funktioniert halt nicht un in der Bilddatei direkt lesen ist glaube ein wenig zu hoch für mich. Sry das ich mich so blöd anstelle .

Detrox 27. Okt 2009 01:19

Re: TJPEGimage
 
Zitat:

Zitat von himitsu
TJPEGImage ... vielleicht fällt dir was auf :?:

TGifImage ... TBitMap ...


nimm TGraphic oder TPicture und binde die Units für GIF und JPEG mit ein, diese sollten ihre Grafikformate dann automatisch bei TGrafic/TPicture registrieren und über dieses genutzt werden können.

Hi, also bei TPicture gibt es aber kein Loadfromstream :|

Klaus01 27. Okt 2009 07:21

Re: TJPEGimage
 
Zitat:

Zitat von Detrox
Hi, also bei TPicture gibt es aber kein Loadfromstream :|

Guten Morgen,

TGraphic aber schon.

Grüße
Klaus

Detrox 27. Okt 2009 07:26

Re: TJPEGimage
 
Ok, werd ich mal ausprobieren, dann muss ich nur noch die png/gif Unterstützung runter laden von Torry ?

turboPASCAL 27. Okt 2009 07:44

Re: TJPEGimage
 
Zitat:

Zitat von Klaus01
TGraphic aber schon.

Das wird aber dann krachen. ;)

Detrox 27. Okt 2009 07:45

Re: TJPEGimage
 
turboPascal was meinst du damit?

LG
Detrox

Tyrael Y. 27. Okt 2009 08:10

Re: TJPEGimage
 
Mach ein TImage auf eine Form und einen Button.
Dann folgenden Code testen.
Sollte finktionieren.

Und danach bitte jede Zeile genau angucken und versuchen zu verstehen.

Delphi-Quellcode:
procedure TForm1.Button1Click(Sender: TObject);
begin
 GetImage();
end;

procedure TForm1.GetImage();
var
  myClient: TidHTTP;
  myMemoryStream: TMemoryStream;
  myJPEG: TJPEGimage;
begin
  myClient := TidHTTP.Create(Self);
  myMemoryStream := TMemoryStream.Create;
  myJPEG := TJPEGImage.Create;

  try
    myClient.Get('http://www.delphipraxis.net/images/pages/impressum/daniel_wolf.jpg', myMemoryStream);
    myMemoryStream.Position := 0;

    Image1.Picture.Graphic := myJPEG;
    Image1.Picture.Graphic.LoadFromStream(myMemoryStream);


  finally
    myJPEG.Free;
    myMemoryStream.Free;
    myClient.Free;
  end;
end;

turboPASCAL 27. Okt 2009 08:17

Re: TJPEGimage
 
Delphi-Quellcode:
Picture.Graphic.LoadFromStream(..)
wird einen Fehler verursachen, das hat mit dem Aufbau von TGraphic zu tun.


Wenn du Bilder vom Web laden willst kennst du doch deren Endung, also .jpg. bmp. .gif etc.
danach kannst du entscheiden wie und was du laden möchtest.

zB.:

Delphi-Quellcode:
uses ..., IdHTTP, PngImage, Jpeg, GifImage;

// ...

function DownloadImageByName(const URL : string; Image: TImage): Boolean;
var
  idHttp: TIdHTTP;
  ImgStream: TMemoryStream;
  FExt: String;
begin
  Result := False;

  if ASSIGNED(Image) then
  begin
    ImgStream := TMemoryStream.Create;
    try
      idHttp := TIdHTTP.Create(nil);
      try
        idHttp.Get(URL, ImgStream);
      finally
        idHttp.Free;
      end;

      if ImgStream.Size > 0 then
      begin
        FExt := ExtractFileExt(URL);
        ImgStream.Position := 0;

        if AnsiLowerCase(FExt) = '.bmp' then
        begin
          Image.Picture.Assign(TBitmap(ImgStream));
          Result := True;
        end else
        if (AnsiLowerCase(FExt) = '.jpg') or( AnsiLowerCase(FExt) = '.jpeg') then
        begin
          Image.Picture.Assign(TJpegImage(ImgStream));
          Result := True;
        end else
        if AnsiLowerCase(FExt) = '.png' then
        begin
          Image.Picture.Assign(TPNGObject(ImgStream));
          Result := True;
        end else
        if AnsiLowerCase(FExt) = '.gif' then
        begin
          Image.Picture.Assign(TGifImage(ImgStream));
          Result := True;
        end else
          ShowMessage('Nicht unterstütztes Bildformat: ' + FExt);
      end else
       ShowMessage('Kein Daten geleden !');

    finally
      ImgStream.Free;
    end;

  end else
    ShowMessage('Kein gültiges Image angegeben !');
end;
Das ist frei nach Nase getippt, keine Funktionsgarantie!

Tyrael Y. 27. Okt 2009 08:20

Re: TJPEGimage
 
@turbopascal: es funktioniert aber ;), probier es aus...


Alle Zeitangaben in WEZ +1. Es ist jetzt 15:17 Uhr.
Seite 2 von 4     12 34      

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