Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Multimedia (https://www.delphipraxis.net/16-multimedia/)
-   -   Bild aus ressourcen in TImage laden (https://www.delphipraxis.net/170821-bild-aus-ressourcen-timage-laden.html)

Henneberg 4. Okt 2012 14:03

Bild aus ressourcen in TImage laden
 
Hallo, ich such nun schon seit stunden hab aber noch nichts passendes gefunden.
Ich habe ein Bild (uncle sam.bmp), welches ich auch schon in die ressourcen gepackt habe. und nun will ich das dieses Bild an einem bestimmten punkt in TImage geladen wird (evt auch ganz ohne TImage, wenn man es einfach nur anzeigen könnte) bzw das es eben sichtbar wird.
wie müsste man das dann schreiben ich hab schon viel gefunden (BitBtn2.Glyph.LoadFromResourceName(hinstance, 'bild2'); oder ähnliche vorschlage, da ich aber noch mehr oder weniger ein Neuling bin arbeite ich da eher nach dem Prinzip Copy-Paste :D
kann mir jemand helfen, bzw es für mich verständlich erklären?

DeddyH 4. Okt 2012 14:10

AW: Bild aus ressourcen in TImage laden
 
Hallo und Willkommen in der DP :dp:,

ist das eine Übungsaufgabe? Wenn es sich nur um ein einziges Bild handelt, könntest Du es auch zur Entwicklungszeit in das Image laden, damit landet es automatisch in den Ressourcen. Bei mehreren Bildern im gleichen Format und mit gleicher Größe ginge das auch mit einer TImageList, aus der man mit GetBitmap das jeweilige Bild wieder zur Laufzeit holen könnte.

Henneberg 4. Okt 2012 14:16

AW: Bild aus ressourcen in TImage laden
 
Es ist nur eins.
Das heißt also in FormCreate und das ich es später einfach auf visible schlate?
aber mit welchem befehl kann ich es laden?

nuclearping 4. Okt 2012 14:20

AW: Bild aus ressourcen in TImage laden
 
Im OI hast du für TImage eine Eigenschaft "Picture". Da kannst du das Bild direkt reinladen.

Wenn du's über Resourcen machen willst:
Delphi-Quellcode:
var
  Bmp: TBitmap;
begin
  Bmp := TBitmap.Create;
  try
    Bmp.LoadFromResourceName(HInstance, 'DEIN_BILD');
    // ... oder
    //Bmp.LoadFromResourceID(HInstance, INDEX_DER_RESOURCE_ZB_0);
    Image1.Picture.Assign(Bmp);
  finally
    FreeAndNil(Bmp);
  end;
end;
... oder so ähnlich. :stupid:

himitsu 4. Okt 2012 14:29

AW: Bild aus ressourcen in TImage laden
 
Oder ohne zusätzliches Bitmap.
Delphi-Quellcode:
Image1.Picture.Bitmap.LoadFromResourceName(HInstance, 'DEIN_BILD');

DeddyH 4. Okt 2012 14:29

AW: Bild aus ressourcen in TImage laden
 
Wie von meinem Vorposter schon gesagt: im Objektinspektor über die Picture-Eigenschaft das Bild hineinladen und das TImage auf unsichtbar stellen. Zur Laufzeit setzt Du dann einfach Visible wieder auf true -> fertig.

Henneberg 4. Okt 2012 17:33

AW: Bild aus ressourcen in TImage laden
 
Danke
soweit hab ichs jetzt nur ich versteh nicht jetzt sagt er mir immer ressource mit dem namen onkelsam (so heißt mein bild bzw die .rc) nicht gefunden obwohl ich alles korrekt angegeben habe, also auch {$R onkel.res}

Bummi 4. Okt 2012 17:59

AW: Bild aus ressourcen in TImage laden
 
Das ist für uns wie stochern im Nebel
- ist die {$R} Deklaration richtig
- mit welchem Resourcetyp wurde BRCC32 aufgerufen
- was steht genau in der .rc
etc.

das ist doch sicher ein sehr kleines Projekt, zip doch mal .res, .rc , .pas, .dfm, .dpr und häng es hier an ...

Henneberg 4. Okt 2012 18:38

AW: Bild aus ressourcen in TImage laden
 
Liste der Anhänge anzeigen (Anzahl: 1)
naja klein ist gut^^
Ich hab die stelle jetzt nochmal kommentier damit man es leichter findet^^
und ich will mich vorher schon mal für die Form entschuldigen ich machs manchmal etwas umständlich^^ aber wichtig ist nur der Teil mit dem Bild.. und zur erklären die {$R bild.res}={$R onkel.res}={$R Bohnke.res}, dh. alles das selbe habs nur mit anderen namen versucht

DeddyH 4. Okt 2012 18:49

AW: Bild aus ressourcen in TImage laden
 
Wie sieht es bei
Delphi-Quellcode:
Bmp.LoadFromResourceName(HInstance, 'ONKELSAM');
aus?

Henneberg 4. Okt 2012 19:24

AW: Bild aus ressourcen in TImage laden
 
kommt die selbe meldung :(

nuclearping 4. Okt 2012 19:47

AW: Bild aus ressourcen in TImage laden
 
Ja, das Handling von Resourcen kann manchmal bisschen haarsträubend sein.

Wie schauts damit aus:
Delphi-Quellcode:
var
  Bmp: TBitmap;
begin
  Bmp := TBitmap.Create;
  try
    Bmp.Handle := LoadBitmap(HInstance, 'ONKELSAM');
    Image1.Picture.Assign(Bmp);
  finally
    FreeAndNil(Bmp);
  end;
end;
Wo bindest du die .RES ein? In der DPR? In der MainForm? Versuch da mal hin- und herzuschieben.

Bummi 4. Okt 2012 23:19

AW: Bild aus ressourcen in TImage laden
 
versuch's mal in der .rc mit
onkelsam BITMAP onkelsam.bmp

Ich hatte ein Rechnerproblem und habe daher die .res nach extrahieren der Bitmap neu erstellen müssen.

Mit o.g. funktioniert es.

DeddyH 5. Okt 2012 07:44

AW: Bild aus ressourcen in TImage laden
 
Genau, das war mir gestern abend auch noch eingefallen, aber da hatte ich den Rechner bereits heruntergefahren. Trotzdem ist mir immer noch nicht klar, wieso man nicht den einfachen Weg geht wie am Anfang beschrieben.

nuclearping 5. Okt 2012 09:04

AW: Bild aus ressourcen in TImage laden
 
Zitat:

Zitat von DeddyH (Beitrag 1185823)
Trotzdem ist mir immer noch nicht klar, wieso man nicht den einfachen Weg geht wie am Anfang beschrieben.

Ich pack auch relativ ungern Bilder in die MainForm, weil's die Datei ziemlich aufbläht und wenn man's dann in's SVN eincheckt, nervts ... :mrgreen:

Henneberg 6. Okt 2012 20:52

AW: Bild aus ressourcen in TImage laden
 
Das selbe Problem..
ich habs jetzt so:

Image1.Picture.Loadfromfile('onkel') aber da heißt es dann "unbekannte bidldateierweiterung (.)"

himitsu 6. Okt 2012 20:58

AW: Bild aus ressourcen in TImage laden
 
Zwei Drei Fehler:

- Man soll keine relativen Dateipfade verwenden!

- Wieso hat deine Datei keine Dateiendung? (bmp jpg gif ...)
Picture.LoadFromFile benötigt die Dateiendung, um zu wissen wie es die Datei laden soll.

- Und Groß-/Kleinschreibung ist was tolles, denn dann sieht man sofort, was da nicht stimmt (LoadFromFile = von Datei laden :roll:)

Henneberg 6. Okt 2012 21:28

AW: Bild aus ressourcen in TImage laden
 
zu dem ersten: ich wollte es ja auch eig aus den ressourcen laden
zum zweiten: wie oben schon gesagt.. ich habs aber auch schon mit der datei im projektordner versuch aber da gibt er mir auch nen fehler aus
zum dritten: ich habe das nur per hand nachgeschrieben im Programm steht es mit großem F :)

DeddyH 6. Okt 2012 22:12

AW: Bild aus ressourcen in TImage laden
 
Deine Datei heißt aber nun einmal "Onkel.bmp" und nicht "Onkel".

Henneberg 7. Okt 2012 11:41

AW: Bild aus ressourcen in TImage laden
 
Auch wenn ichs aus den ressourcen nehme?

DeddyH 7. Okt 2012 12:31

AW: Bild aus ressourcen in TImage laden
 
Dann heißt es so, wie Du es genannt hast, aber dann kannst Du es nicht mit LoadFromFile laden.

nuclearping 7. Okt 2012 12:35

AW: Bild aus ressourcen in TImage laden
 
Zitat:

Zitat von Henneberg (Beitrag 1186066)
Auch wenn ichs aus den ressourcen nehme?

Du kannst per ...Picture.LoadFromFile nur gültige Bilder laden. Sprich BMP, JPG, ... meistens noch PNG und GIF. Und entsprechend muss auch die Datei und damit der Befehl heissen: ... Picture.LoadFromFile('Onkel.bmp'), Picture.LoadFromFile('Onkel.jpg'), ...

Du kannst damit KEINE .RC oder .RES Dateien laden. Genauso auch nicht mit dem OI über die Eigenschaft "Picture". Da gehen eben entsprechend auch nur oben genannte Bildformate. :stupid:


Alle Zeitangaben in WEZ +1. Es ist jetzt 16:10 Uhr.

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