Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Sonstige Fragen zu Delphi (https://www.delphipraxis.net/19-sonstige-fragen-zu-delphi/)
-   -   Delphi Problem mit TImage und FileStream.. (https://www.delphipraxis.net/68968-problem-mit-timage-und-filestream.html)

Dash 8. Mai 2006 19:29


Problem mit TImage und FileStream..
 
Hallo,

ich habe Bilder die keine Endung haben. Diese möchte ich nun in ein TImage reinladen, dass Problem ist natürlich das er sofort über die Dateiendung meckert. Nun habe ich es einfach mal mit einem FileStream versucht, aber ich bekomme nur ne Zugriffsverletzung ...

Delphi-Quellcode:
...
var
TestStream: TFileStream;
begin
  TestStream := TFileStream.Create('D:\Eigene Dateien\Wallpaper\Brücke.jpg' , fmOpenRead);
  Image2.Picture.Graphic.LoadFromStream(TestStream);
  TestStream.Free;
end;
Ich hoffe ihr könnt mir weiterhelfen :-D

Grüße,
Dash

SirThornberry 8. Mai 2006 19:32

Re: Problem mit TImage und FileStream..
 
das passiert weil Graphic nicht instanziert ist. Du musst wissen von welchem Typ deine Grafik ist.
Wenn deine Grafik zum Beispiel vom Type ".jpg" ist dann musst du das wie folgt laden:
Delphi-Quellcode:
var LJPEG: TJpegImage;
begin
  LJPEG := TJPEGImage.Create(nil);
  LJPEG.LoadFromFile('D:\Eigene Dateien\Wallpaper\Brücke.jpg');
  Image2.Picture.Graphic := LJPEG;
  LJPEG.Free;

Dash 8. Mai 2006 19:38

Re: Problem mit TImage und FileStream..
 
Das Problem ist leider, dass die Grafiken verschiedene Typen haben und diese stehen eben nicht hinter dem Dateinamen :(

Khabarakh 8. Mai 2006 19:40

Re: Problem mit TImage und FileStream..
 
Dann eben TPicture.LoadFromStream, Picture sollte automatisch initialisiert werden.

Dash 8. Mai 2006 19:48

Re: Problem mit TImage und FileStream..
 
Dann bekomme ich nur "Cannot assign a TPicture to TImage" :cry:

Khabarakh 8. Mai 2006 20:00

Re: Problem mit TImage und FileStream..
 
Whoops, das ist ja protected :stupid: .
Aber so wie es aussieht, läuft die ganze TGraphicClass-Registrierung allein über die Erweiterung, mit TPicture wirst du also keine Chancen haben.
Maybe per GDI, Genaueres kann ich dazu leider nicht sagen.

SirThornberry 8. Mai 2006 20:42

Re: Problem mit TImage und FileStream..
 
TPicture unterscheidet normalerweise anhand der Dateiendung um was für einen Typ es sich handelt. Wenn keine Dateiendung vorhanden ist musst du also selbst heraus finden um welchen Typ es sich handlet. Dazu könntest du die Datei als Stream öffnen und den Inhalt analysieren. Und wenn du dann weißt von welchem Typ die Datei ist kann du sie, wie von mir beschrieben laden.

Dash 9. Mai 2006 16:18

Re: Problem mit TImage und FileStream..
 
Hm, leider habe ich keine JPEG Bilder sondern nur PNG und Gif Bilder. Leider funktioniert es aber jetzt nicht wenn ich TPNGImage schreibe, da es nur einfache Units sind.

Benutze diese Unit hier für PNG Bilder:
http://pngdelphi.sourceforge.net/

Grüße,
Dash

Dash 10. Mai 2006 22:49

Re: Problem mit TImage und FileStream..
 
*push*


Alle Zeitangaben in WEZ +1. Es ist jetzt 06:47 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