Delphi-PRAXiS
Seite 1 von 2  1 2      

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Programmieren allgemein (https://www.delphipraxis.net/40-programmieren-allgemein/)
-   -   JPeg aus Ressource in TImage laden, kriegs aber nicht hin. (https://www.delphipraxis.net/8005-jpeg-aus-ressource-timage-laden-kriegs-aber-nicht-hin.html)

Armageddon 26. Aug 2003 20:15


JPeg aus Ressource in TImage laden, kriegs aber nicht hin.
 
Hi,

Ich hab bin langsam am verzweifeln. :wall:

Wie man die Ressourcendatei erstellt weiß ich und hab ich auch schon gemacht.

bild1 JPG "bild1.jpg"
bild2 JPG "bild2.jpg"

usw.

klappt auch prima. Hab ich hier im Forum gefunden als Beispiel.

Jetzt häng ich nur drann fest das ich nicht genau weiß und auch dazu nix gescheites im Web finde wie ich einem TImage z.b. das bild1 aus der Ressourcendatei zuweiße.

Habe es mit
Delphi-Quellcode:
Image1.Picture.Bitmap.Handle := LoadBitmap(HINSTANCE, 'bild1');
versucht. Kommt zwar kein Fehler aber es passiert überhaupt nix. Muß wohl irgendwie mit dem Bitmap zu tun haben.

Kann mir einer sagen wie ich das ganz einfach hinkriege?

Gruß Arma.

Luckie 26. Aug 2003 20:21

Re: JPeg aus Ressource in TImage laden, kriegs aber nicht hi
 
In deiner Ressource sind es wohl JPG's oder? Und jetzt kuck mal hier:
Code:
Image1.Picture.[b][color=#ff0012]Bitmap[/color][/b].Handle := LoadBitmap(HINSTANCE, 'bild1');
Sieht für mich nicht so aus, als ob das klappen könnte.

Übrigens gibt es die Methode LoadFromResource und den Typ TResourceStream, wenn ich mich nicht täusche.

Leuselator 26. Aug 2003 20:21

Re: JPeg aus Ressource in TImage laden, kriegs aber nicht hi
 
bin nicht sicher, ob das auch für JPG's gilt aber bei mir in
meinen Komponenten schnuckelt es so:
Delphi-Quellcode:
  FBild := TBitmap.Create;
    FBild.LoadFromResourceName(hInstance,'NameDesBildes');

Armageddon 26. Aug 2003 20:26

Re: JPeg aus Ressource in TImage laden, kriegs aber nicht hi
 
@ Luckie: Das habe ich ja gemeint das es wohl daran liegt. Ich wollt ja nur mal wissen wie man das genau macht. Irgendjemand muß das ja mal gemacht haben.

@Leuselator: Danke werde es mal testen.

Gruß Arma.

P.S. Vielleicht finde ich ja noch irgendwo mal ein gescheites Tutorial das nicht zu kompliziert ist für nen Anfänger.

Darty 26. Aug 2003 20:55

Re: JPeg aus Ressource in TImage laden, kriegs aber nicht hi
 
ich möchte ja nicht angeben .. aber habt ihr mal da reingeguckt :)

http://www.delphipraxis.net/internal...&highlight=dll

Armageddon 26. Aug 2003 21:13

Re: JPeg aus Ressource in TImage laden, kriegs aber nicht hi
 
Danke Mr.Knebel,

aber ich bin blutiger Anfänger. :|

Mir fehlt bei Deinem Beispiel echt der Durchblick.
Dein Beispiel ist ja mit ner Dll aber ich will das im Programm drin.
Sicher nicht schwer umzubauen undzu portieren Dein Beispiel aber ich check es nicht.

Kannst das Beispiel nicht umbauen auf mein Problem / Frage ?

Wär nett.

Sag schon mal Danke

Arma

Christian S. 26. Aug 2003 21:20

Re: JPeg aus Ressource in TImage laden, kriegs aber nicht hi
 
Hallo!

Auf diese Weise hat M.Knebel's Beispiel bei mir funktioniert:
Delphi-Quellcode:
procedure loadImage (myImage : TImage);
VAR s : TResourceStream;
    j : TJPEGImage;
begin
  s := TResourceStream.Create(hInstance,'bild','JPG');
  j := TJPEGImage.Create;
  j.LoadFromStream(s);
  myImage.Picture.Bitmap.Assign(j);
  j.Free;
end;
Dabei ist "bild" der Name der Resource, die ich einlesen möchte und JPG der Resourcentyp.

MfG
Peter

Armageddon 27. Aug 2003 23:11

Re: JPeg aus Ressource in TImage laden, kriegs aber nicht hi
 
Hi, (mal kleinlaut nochmal was Frag!)

habe es jetzt etwas umgebaut aber stehe vor einem neuen Problem bei dem ich einfach nicht weiter komme. Wollte es mit ner Procedure machen die Abbricht wenn es das Bild nicht gibt. Aber so wie's grad ist geht es wohl nicht. Wie kann ich ne Procedure oder Function abbrechen?

Folgenden Code hab ich nun:

Delphi-Quellcode:
procedure LoadImage(Bild: String; Ziel: TImage);
var
  b: TJPEGImage;
  s: TResourceStream;
begin
  try
    s := TResourceStream.Create(HINSTANCE, Bild, 'JPG');
    b := TJPEGImage.Create;
    b.LoadFromStream(S);
    Ziel.Picture.Bitmap.Assign(b);
    b.Free;
  except
    (*Hier sollt dann ne Fehlermeldung kommen*)
  end;
end;
So und aufrufen tu ich's so:

Delphi-Quellcode:
procedure TForm1.Button1Click(Sender: TObject);
begin
 LoadImage('bild1', Image1);
end;
Please help, (auch wenn ich .... die jenigen werden das schon wissen)


Gruß Arma.

Darty 27. Aug 2003 23:58

Re: JPeg aus Ressource in TImage laden, kriegs aber nicht hi
 
Willst die Bilder aus einer DLL laden ? Wenn ja wo machste dass ?

ps: haste mein Link genau gelesen ?

Armageddon 28. Aug 2003 16:18

Re: JPeg aus Ressource in TImage laden, kriegs aber nicht hi
 
Hi M.Knebel,

nee ich hab das Bild als Resource in der Programmdatei. Das funktioniert soweit auch ganz gut. Ich wollte jetzt halt nur noch wissen ob es möglich ist wenn ich aus der Prozedure z.B. jetzt ne Funktion mache das wenn es das Bild das man als Name an die Funktion oder in dem Fall wie es noch ist an die Procedure übergibt. Das dann ein Fehler ausfgegeben wird. Aber irgendwie krieg ich das nicht so recht hin. Wie ich es will weiß ich aber nicht wie ich es Umsetzen könnte.

Gruß Arma.


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