Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Multimedia (https://www.delphipraxis.net/16-multimedia/)
-   -   Delphi Bitmap in Image laden (https://www.delphipraxis.net/73437-bitmap-image-laden.html)

Cöster 18. Jul 2006 08:54


Bitmap in Image laden
 
Hi!

Ich schreibe gerade ein Programm mit Bildern, die teilweise 20 MB groß sind. Deswegen dauert der Speichervorgang immer extrem lange (15 Min). Um den Speichervorgang zu beschleunigen, fällt mir nur ein, dass ich das Bitmap erst zur Laufzeit des Programms laden könnte. Es liegt in dem Ordner, in dem alle Dateien des Programms liegen. Wenn ich
Delphi-Quellcode:
Image1.Picture.LoadFromFile('map1.bmp');
eingebe erscheint der Fehler 'Datei map1.bmp kann nicht geöffnet werden.'
Woran liegt's oder gibt es vielleicht noch eine andere Möglichkeit, die Speicherzeit zu verkürzen?

mbamler 18. Jul 2006 09:07

Re: Bitmap in Image laden
 
Die Idee die Bilder erst später dazuzuladen ist gut
(so mach ich das auch bei allen meinen Programmen)

Dein Code zum Laden des Bildes ist korrekt.
Es muss also an etwas anderem Liegen - wie z.B. Existenz der Datei, Zugriffsrechte etc.....

Gruß
Matthias

_Sebastian_ 18. Jul 2006 09:09

Re: Bitmap in Image laden
 
Versuch mal den pfad deines programmes mit anzugeben. Also den kompletten Pfad der Datei.

Den Pfad der Exe-Datei bekommst du über

Delphi-Quellcode:
ExctractFilePath(ParamStr(0))

mquadrat 18. Jul 2006 09:09

Re: Bitmap in Image laden
 
Falls es nicht zwingend BMP sein muss, würd ich das Bild als JPG ablegen, sa die Datei dann wesentlich kleiner wird.

Tumm 18. Jul 2006 11:06

Re: Bitmap in Image laden
 
Hi

Falls die Datei im Pfad direkt ist, würde ich mal probieren, an die erste Stelle einen Punkt zu setzen, der darauf verweist, dass es das Verzeichnis ist, indem das Programm vorhanden ist.
Delphi-Quellcode:
Image1.LoadFromFile('.\map1.bmp');
Ist dir damit geholfen? :?:

Tumm

Namenloser 18. Jul 2006 11:22

Re: Bitmap in Image laden
 
Zitat:

Zitat von Tumm
Hi

Falls die Datei im Pfad direkt ist, würde ich mal probieren, an die erste Stelle einen Punkt zu setzen, der darauf verweist, dass es das Verzeichnis ist, indem das Programm vorhanden ist.
Delphi-Quellcode:
Image1.LoadFromFile('.\map1.bmp');
Ist dir damit geholfen? :?:

Tumm

Nicht zu empfehlen, da der punkt das AKTUELLE verzeichnis darstellt, was aber nicht immer dem verzeichnis des programms entspricht.
ich deklarier mir in meinen programmen immer 'ne function, die ich dann imer aufrufe, wenn ich den exe-pfad brauche:

Delphi-Quellcode:
function exepath: string
begin
  result := extractfilepath(application.exename);
end;
Aus'm Kopf...

Cöster 18. Jul 2006 18:24

Re: Bitmap in Image laden
 
Danke an alle, das Problem ist gelöst.

Die Datei heißt jetzt nicht map1.bmp sondern nur noch map1
Ich lade aber trotzdem map1.bmp


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