Delphi-PRAXiS
Seite 1 von 2  1 2      

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Multimedia (https://www.delphipraxis.net/16-multimedia/)
-   -   Delphi Bilder als Resource ind die exe mit einbauen (https://www.delphipraxis.net/90112-bilder-als-resource-ind-die-exe-mit-einbauen.html)

Blink 11. Apr 2007 21:02


Bilder als Resource ind die exe mit einbauen
 
Hi

Mein Problem ist ich benutze diesen Code um PNGs in TImage zu laden, nur das Problem dabei man kann die Bilddatei löschen und wenn dann das Programm versucht das Bild zu laden kommt ne Fehler Meldung hier der Code

Delphi-Quellcode:
  bild: TPicture;
begin
  bild:= TPicture.Create;
  try
    bild.LoadFromFile('bild.png');
    Image1.Picture:= bild;
  finally
    bild.Free;
  end;
jetzt ist meine frage wie kann ich das Bild in die exe Datei packen und das Bild dann auch wieder verwenden?

Luckie 11. Apr 2007 21:05

Re: Bilder als Resource ind die exe mit einbauen
 
Ja. Einfach mal die Suche benutzen. Dies wurde schon sehr oft gefragt.

Blink 11. Apr 2007 21:21

Re: Bilder als Resource ind die exe mit einbauen
 
Oo hab gerade die Code-Library entdeckt und da was passendes gefunden, tut mir jetzt leid für diesen sinnlosen Thread :cry: hätte ich die Code-Library doch nur vorher gesehen. :wall:

Blink 14. Apr 2007 10:57

Re: Bilder als Resource ind die exe mit einbauen
 
Hi

Ich weis jetzt wie ich die Bilder als *res Datei in das Programm bekomme nur weis ich nicht wie ich die dann in ein TImage laden kann. Kann mir das vielleicht noch einer erklären, es sind PNG Grafiken.

Danke

chaosben 14. Apr 2007 11:01

Re: Bilder als Resource ind die exe mit einbauen
 
Mit welcher Klasse lädst du denn die PNG's?
Ich vermute mal du nutzt TPNGObject von SourceForge. Dann kannst du es so machen:
Delphi-Quellcode:
var
  PNG : TPNGObject;
begin
  PNG:=TPNGObject.Create;
  PNG.LoadFromResource(Hinstance, 'DerNameDesBildesInDenResourcen');
  Image1.Picture.Image:=PNG;
  PNG.Free;
end;

Blink 14. Apr 2007 12:07

Re: Bilder als Resource ind die exe mit einbauen
 
Liste der Anhänge anzeigen (Anzahl: 1)
Danke das du mir hilfst, aber irgendwie bekomme ich es immer noch nicht hin in TImage Hab ich kein Picture.Image und wenn ich dann
Delphi-Quellcode:
Image1.Picture:=PNG;
mache kommt eine Fehlermeldung das TPNGObject und TPicture nicht kompatibel sind :cry:.

Im Anhang hab ich das Beispielprogramm vielleicht guckst du es dir mal an

chaosben 14. Apr 2007 18:05

Re: Bilder als Resource ind die exe mit einbauen
 
2 Sachen:

- es heißt
Delphi-Quellcode:
Image1.Picture.Assign(PNG)
- diese PNG-Klasse sucht PNGs im Zweig "PNG" in der Resource

Blink 14. Apr 2007 23:38

Re: Bilder als Resource ind die exe mit einbauen
 
So, jetzt beschwert sich das TPicture zwar nicht mehr aber ich bekomme die Bilder immer noch nicht aus der Ressource geladen, kommt immer die Meldung das die Ressource nicht gefunden wurde. Hier mal mein Code >>

Delphi-Quellcode:

implementation

{$R *.dfm}
{$R Bilder.RES}

procedure TForm1.FormCreate(Sender: TObject);
var
  PNG : TPNGObject;
begin
  PNG:=TPNGObject.Create;
  PNG.LoadFromResourceName(Hinstance, 'ST');
  Image1.Picture.Assign(PNG);
  //Image1.Picture:=PNG;
  PNG.Free;
end;
und so schaut die rc Datei aus mit der ich die res Datei erzeugt habe

Delphi-Quellcode:
st PNG st.png
ab IMAGE ab.png
sge IMAGE age.png
agr IMAGE agr.png
ar IMAGE ar.png
Kan mier jetzt einer sagen wo mein Fehler ist. :?

turboPASCAL 15. Apr 2007 04:49

Re: Bilder als Resource ind die exe mit einbauen
 
Dein Resourcetyp in der .RC-Datei ist falsch. Die Komponente läd PNG-Bilder aus RC_DATA-Section
der Resource.

Code:
st RC_DATA "st.png"
...
ar RC_DATA "c:\...\ar.png"

Blink 15. Apr 2007 10:12

Re: Bilder als Resource ind die exe mit einbauen
 
Ich danke euch hat jetzt geklappt, zwar nicht ganz so wie turboPASCAL es beschrieben hatte den anstatt
Delphi-Quellcode:
st RC_DATA "st.png"
musste ich
Delphi-Quellcode:
st RCDATA "st.png"
das RC_DATA zusammen schreiben, dank deinen tip hab ich einfach mal alle möglichen schreib weisen versucht, als es nicht klappt und dann hat es doch geklappt mit RCDATA :-D.

Danke an alle


Alle Zeitangaben in WEZ +1. Es ist jetzt 03:09 Uhr.
Seite 1 von 2  1 2      

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