AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Multimedia Fehlerhafte BMP nach Apspeichern
Thema durchsuchen
Ansicht
Themen-Optionen

Fehlerhafte BMP nach Apspeichern

Ein Thema von bernhard_LA · begonnen am 19. Nov 2015 · letzter Beitrag vom 20. Nov 2015
Antwort Antwort
bernhard_LA

Registriert seit: 8. Jun 2009
Ort: Bayern
1.138 Beiträge
 
Delphi 11 Alexandria
 
#1

Fehlerhafte BMP nach Apspeichern

  Alt 19. Nov 2015, 17:26
ich schreibe Bitmaps mit diesem code auf meine Festplatte

Delphi-Quellcode:
      
      aTempImage := TBitMap.Create;
      aTempImage.Assign(aTImage.Picture.Bitmap);
      aTempImage.SaveToFile(BMPFilename);
      aTempImage.Free;


ein paar Funktionen später will ich diese Bilder (bmps) wieder einlesen


Delphi-Quellcode:
        
        r2v_bmp := TBitMap.Create;
        r2v_bmp.PixelFormat := pf24bit;


        r2v_bmp.LoadFromFile(anewFilename);
        /// nochmal abspeichern auf der fehlersuche ....
´ r2v_bmp.savetoFile('c:\temp\r2v_t2.bmp');




Die Datei r2v_t2.bmp kann ich jetzt mit den Windows viewern (Paint, Windows Photo Viewer) nicht mehr öffnen / anzeigen.
IrfanView kann diese Datei problemlos öffnen.
Was könnte der Fehler sein?
Miniaturansicht angehängter Grafiken
read_my_file.jpg   irfan.png  
  Mit Zitat antworten Zitat
Benutzerbild von Mavarik
Mavarik

Registriert seit: 9. Feb 2006
Ort: Stolberg (Rhld)
4.144 Beiträge
 
Delphi 10.3 Rio
 
#2

AW: Fehlerhafte BMP nach Apspeichern

  Alt 19. Nov 2015, 17:34
PNG oder BMP?

Dein angehängtes Bild sagt png
  Mit Zitat antworten Zitat
SMO

Registriert seit: 20. Jul 2005
178 Beiträge
 
Delphi XE6 Professional
 
#3

AW: Fehlerhafte BMP nach Apspeichern

  Alt 19. Nov 2015, 18:12
Einfach mal die erzeugte Datei in einem Hexeditor anschauen, dann sieht man ob sie einen BMP oder PNG Kopf hat.

Delphi-Quellcode:
      r2v_bmp.PixelFormat := pf24bit;

      r2v_bmp.LoadFromFile(anewFilename);
Die Zuweisung an PixelFormat ist hier übrigens sinnlos, es sei denn du machst mit r2v_bmp noch etwas vor LoadFromFile, denn LoadFromFile setzt PixelFormat natürlich auf den Wert der in der Datei steht.
  Mit Zitat antworten Zitat
bernhard_LA

Registriert seit: 8. Jun 2009
Ort: Bayern
1.138 Beiträge
 
Delphi 11 Alexandria
 
#4

AW: Fehlerhafte BMP nach Apspeichern

  Alt 19. Nov 2015, 22:42
das 4. und 11. Zeichen ist zwischen original Datei und der fehlerhaft abgespeicherten Datei unterschiedlich, was ist das für ein Fehler ?
Miniaturansicht angehängter Grafiken
compare_2bmps.jpg  
  Mit Zitat antworten Zitat
mensch72

Registriert seit: 6. Feb 2008
838 Beiträge
 
#5

AW: Fehlerhafte BMP nach Apspeichern

  Alt 20. Nov 2015, 00:03
https://msdn.microsoft.com/de-de/lib...(v=vs.85).aspx

der erste Unterschied liegt im DWORD für die Anzahl der "Bitmapdaten" und der 2. Unterschied liegt im DWORD für den Anfang der "Bitmapdaten"...

In einer Datei scheint noch ein Array für eine "Farbpalette" mit drin zu sein... das ist der Unterschied... denn so kann man wie "früher" per API Bitmaps auch selbst speichern&lesen.

BITMAPFILEHEADER + BITMAPINFO(Header) + Bitmapdaten in an DWORD Grenzen beginnenden Zeilen
  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 04:51 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