AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Multimedia Delphi Probleme bei einem Bitmap-Array
Thema durchsuchen
Ansicht
Themen-Optionen

Probleme bei einem Bitmap-Array

Ein Thema von Hazardos · begonnen am 12. Jan 2004 · letzter Beitrag vom 12. Jan 2004
Antwort Antwort
Hazardos

Registriert seit: 8. Okt 2003
Ort: Alfeld
73 Beiträge
 
#1

Probleme bei einem Bitmap-Array

  Alt 12. Jan 2004, 15:23
so... ich habe ein kleines Problem... Ich möchte etwa 60 Jpegs in Bítmaps umwandeln und als Array in einer Datei abspeichern...
Mein Quelltext sieht etwa so aus :

Delphi-Quellcode:
...

var Bilder : Array [1..60] of TBitmap;
...

procedure TForm1.FormCreate(Sender: TObject);
var i : integer;
var jpeg : TJpegImage;
begin
Jpeg := TJpegImage.Create;
for i := 1 to 60 do
begin
  Bilder[Spin.Value] := TBitmap.Create;
  Jpeg.LoadFromFile('C:\Bild'+IntToStr(i)+'.jpg');
  Bilder[Spin.Value].Height := Jpeg.Height;
  Bilder[Spin.Value].Width := Jpeg.Width;
  Bilder[Spin.Value].Canvas.Draw(0,0,Jpeg);
end;
end;
Beim Versuch, die Bitmaps von einer anderen Procedure aus auszulesen (oder auch nur Werte, wie .height etc.) wird mir eine Fehlermeldung angezeigt... In der Gleichen Procedure scheint es allerdings zu klappen...

Ich hoffe ihr könnt mir weiterhelfen...
mfg Hazardos
  Mit Zitat antworten Zitat
Hazardos

Registriert seit: 8. Okt 2003
Ort: Alfeld
73 Beiträge
 
#2

Re: Probleme bei einem Bitmap-Array

  Alt 12. Jan 2004, 15:27
Hat sich schon erledigt...
Ein Dummer Fehler...
Richtig hätte es so ausgesehen :

Delphi-Quellcode:

procedure TForm1.FormCreate(Sender: TObject);
var i : integer;
var jpeg : TJpegImage;
begin
Jpeg := TJpegImage.Create;
for i := 1 to 60 do
begin
  Bilder[i] := TBitmap.Create;
  Jpeg.LoadFromFile('C:\Bild'+IntToStr(i)+'.jpg');
  Bilder[i].Height := Jpeg.Height;
  Bilder[i].Width := Jpeg.Width;
  Bilder[i].Canvas.Draw(0,0,Jpeg);
end;
end;
Naja... wenigstens hab ichs jetzt richtig hinbekommen... Trotzdem danke, falls ihr euch schon Gedanken darüber gemacht haben solltet.....

mfg Hazardos
  Mit Zitat antworten Zitat
Hazardos

Registriert seit: 8. Okt 2003
Ort: Alfeld
73 Beiträge
 
#3

Re: Probleme bei einem Bitmap-Array

  Alt 12. Jan 2004, 16:09
Ich habe jetzt ein Weiteres Problem....
Kann sein, dass es auch nur wieder ein dummer Fehler war, aber egal...

Ich habe die Dateien eingelesen und möchte diese nun speichern...
EIne Fehlermeldung gibt es keine, nur ist die datei nur 240 byte groß. Die Datei kann auch von keinem anderen Programm gelesen werden... Naja.. ich stehe jetzt so ziemlich aufm Schlauch.... hoffe ihr könnt mir helfen..

Hier die Quelltexte

Schreiben der Datei
Delphi-Quellcode:
type
Pictures = Array [1..60] of TJpegImage;
P_datei = file of Pictures;
...
var Bilder : Pictures;
    Datei : P_datei;
...
procedure TForm1.FormCreate(Sender: TObject);
var i : integer;
begin
for i := 1 to 60 do
begin
  Bilder[i] := TJpegImage.Create;
  Bilder[i].LoadFromFile('C:\Bild'+IntToStr(i)+'.jpg');
end;

assignfile (datei,'C:\test.dat');
rewrite (datei);
reset (datei);
write (datei,Bilder);
closefile (datei);
Öffnen der Datei
Delphi-Quellcode:
type
  Pictures = Array [1..60] of TJpegImage;
  P_datei = file of Pictures;
...
var Bilder : Pictures;
    Datei : P_datei;
...
procedure TForm1.FormCreate(Sender: TObject);
begin
  assignfile (datei,'C:\test.dat');
  reset (datei);
  read (datei,Bilder);
end;

procedure TForm1.SpinChange(Sender: TObject);
begin
  Bild.Picture.Bitmap.Height := Bilder[Spin.Value].Height;
  Bild.Picture.Bitmap.Width := Bilder[Spin.Value].Width;
  Bild.Picture.Bitmap.Canvas.Draw(0,0,Bilder[Spin.value]);
end;
  Mit Zitat antworten Zitat
Benutzerbild von dizzy
dizzy

Registriert seit: 26. Nov 2003
Ort: Lünen
1.932 Beiträge
 
Delphi 7 Enterprise
 
#4

Re: Probleme bei einem Bitmap-Array

  Alt 12. Jan 2004, 18:25
Zitat:
write (datei,Bilder);
Ein sehr beliebter Fehler! Du schreibst dir keineswegs dein array in eine Datei, sondern lediglich den Pointer auf das array! Daher die geringe Größe.

Einfacher wäre es die Bilder einzeln als .bmp zu speichern, oder halt wieder mit TJPEGImage.SaveToFile(Pfad) als .jpg.
Fabian K.
INSERT INTO HandVonFreundin SELECT * FROM Himmel
  Mit Zitat antworten Zitat
Hazardos

Registriert seit: 8. Okt 2003
Ort: Alfeld
73 Beiträge
 
#5

Re: Probleme bei einem Bitmap-Array

  Alt 12. Jan 2004, 18:54
das ist ja gerade das, was ich vermeiden wollte...
Gibt es nicht irgendwie die Möglichkeit, alle Bilder in EINER Datei abzuspeichern??
  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 23:20 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