AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Multimedia Delphi Bitmap in Image laden
Thema durchsuchen
Ansicht
Themen-Optionen

Bitmap in Image laden

Ein Thema von Cöster · begonnen am 18. Jul 2006 · letzter Beitrag vom 18. Jul 2006
Antwort Antwort
Cöster

Registriert seit: 6. Jun 2006
589 Beiträge
 
Turbo Delphi für Win32
 
#1

Bitmap in Image laden

  Alt 18. Jul 2006, 08:54
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 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?
  Mit Zitat antworten Zitat
mbamler

Registriert seit: 19. Mai 2005
Ort: Hamburg
118 Beiträge
 
Delphi 7 Architect
 
#2

Re: Bitmap in Image laden

  Alt 18. Jul 2006, 09:07
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
  Mit Zitat antworten Zitat
_Sebastian_

Registriert seit: 22. Jul 2004
Ort: Lübeck
72 Beiträge
 
Delphi 2010 Professional
 
#3

Re: Bitmap in Image laden

  Alt 18. Jul 2006, 09:09
Versuch mal den pfad deines programmes mit anzugeben. Also den kompletten Pfad der Datei.

Den Pfad der Exe-Datei bekommst du über

ExctractFilePath(ParamStr(0))
  Mit Zitat antworten Zitat
mquadrat

Registriert seit: 13. Feb 2004
1.113 Beiträge
 
Delphi XE2 Professional
 
#4

Re: Bitmap in Image laden

  Alt 18. Jul 2006, 09:09
Falls es nicht zwingend BMP sein muss, würd ich das Bild als JPG ablegen, sa die Datei dann wesentlich kleiner wird.
  Mit Zitat antworten Zitat
Tumm

Registriert seit: 17. Jun 2006
Ort: Celle
171 Beiträge
 
Turbo Delphi für Win32
 
#5

Re: Bitmap in Image laden

  Alt 18. Jul 2006, 11:06
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.
Image1.LoadFromFile('.\map1.bmp'); Ist dir damit geholfen?

Tumm
Code Gear = Kot Gier
  Mit Zitat antworten Zitat
Namenloser

Registriert seit: 7. Jun 2006
Ort: Karlsruhe
3.724 Beiträge
 
FreePascal / Lazarus
 
#6

Re: Bitmap in Image laden

  Alt 18. Jul 2006, 11:22
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.
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...
  Mit Zitat antworten Zitat
Cöster

Registriert seit: 6. Jun 2006
589 Beiträge
 
Turbo Delphi für Win32
 
#7

Re: Bitmap in Image laden

  Alt 18. Jul 2006, 18:24
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
  Mit Zitat antworten Zitat
Antwort Antwort


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 06:23 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