Ergebnis 1 bis 3 von 3

Thema: [Delphi] Problem mit Laden von Bildern

  1. #1

    [Delphi] Problem mit Laden von Bildern

    So, ich programmiere grade ein Grafikprogramm. Es kann verschiedene Formate lesen und schreiben (darunter png, psp, dib, jpg, bmp [...]) dafür verwende ich GrafikEX (ne Grafik Unit) alles funzt prima: Ich kann von anderen Grafikprogrammen erzeugte Dateien lesen und die Dateien auch selbst speichern und andere Programme können meine Dateien lesen, aber ich kann die von mir selbst erzeigten Dateien nicht lesen.. -.-

    Also ich versteh das ganze nicht. Hier mein Code zum laden von Bildern:

    Code:
    procedure TfrmMain.Oeffnen1Click(Sender: TObject);
    var
      Fenster: TfrmPicView;
    begin
      if dlgOeffnen.Execute then
      begin
        Fenster := TfrmPicView.Create(Application);
        Fenster.mimgBild.Picture.LoadFromFile(dlgOeffnen.Filename);
        Fenster.Width := Fenster.mimgBild.Picture.Graphic.Width + 18;
        Fenster.Height := Fenster.mimgBild.Picture.Graphic.Height + 45;
        Fenster.Caption := dlgOeffnen.FileName;
      end;
    end;
    Es wird das Formular frmPicView erzeugt und das geöffnete Bild zugewiesen.

    Mein Code zum speichern von Dateien:

    Code:
    procedure TfrmMain.Sichern1Click(Sender: TObject);
    var
      Fenster: TfrmPicView;
    begin
      if SavePictureDialog1.Execute then
      Begin
      if ActiveMDIChild <> nil then
      begin
        Fenster := ActiveMDIChild as TfrmPicView;
        case SavePictureDialog1.FilterIndex of
         1:Fenster.imgBild.Picture.SaveToFile(SavePictureDialog1.FileName + '.dib');
         2:Fenster.imgBild.Picture.SaveToFile(SavePictureDialog1.FileName + '.jpg');
         3:Fenster.imgBild.Picture.SaveToFile(SavePictureDialog1.FileName + '.jpeg');
         4:Fenster.imgBild.Picture.SaveToFile(SavePictureDialog1.FileName + '.bmp');
         5:Fenster.imgBild.Picture.SaveToFile(SavePictureDialog1.FileName + '.ico');
         6:Fenster.imgBild.Picture.SaveToFile(SavePictureDialog1.FileName + '.emf');
         7:Fenster.imgBild.Picture.SaveToFile(SavePictureDialog1.FileName + '.wmf');
         8:Fenster.imgBild.Picture.SaveToFile(SavePictureDialog1.FileName + '.png');
         9:Fenster.imgBild.Picture.SaveToFile(SavePictureDialog1.FileName + '.psp');
        end;
      end;
      end;
    end;
    Ich versteh net warum's net geht....

    Wenn ihr's selbst sehen wollt:


    http://crashoverride22.funpic.de/Files/Project1.exe

  2. #2
    Ganz einfach: Du speicherst die Bilder nur unter anderem Dateinamen und unter anderer Endung, allerdings bleibt das Format exakt das gleiche als das Geladene...

    Als Beispiel: Lade ich also nun eine jpg-Datei und speichere sie als bmp, will dein Programm das Bild auch als bmp öffnen, obwohls ein jpg ist... speichere ich als jpg Datei, läufts ohne Probleme.

    EDIT: Andere Programme können natürlich deine Daten lesen, da sie ja nicht auf die Endung schauen (wie die Grafik Unit anscheinend...), sondern auf das Format indem sie den Code analysieren.

  3. #3
    Anscheinend scheint das zu stimmen, da wenn ich ein und das selbe Bild mit Paint und mit meinem Programm in jpeg umwandle unterscheiden sie sich in Größe und Format (im Editor geöffnet). Mhm ich versuch das ganze mal hinzubiegen...

Berechtigungen

  • Neue Themen erstellen: Nein
  • Themen beantworten: Nein
  • Anhänge hochladen: Nein
  • Beiträge bearbeiten: Nein
  •