Einzelnen Beitrag anzeigen

Delbor

Registriert seit: 8. Okt 2006
Ort: St.Gallen/Schweiz
1.186 Beiträge
 
Delphi 11 Alexandria
 
#6

AW: Bitmap nach Assign leer. Warum?

  Alt 9. Nov 2020, 12:49
Hi zusammen
Graphic ist immer gefüllt und egal welches Bildformat geladen ist, die Konvertierung zu BMP sollte ohne Probleme funktionieren.
Image1.Picture.Bitmap ist wirklich nur gefüllt wenns ein Bitmap ist. Picture.Graphic ist quasi die Verallgemeinerung und ist immer gefüllt wenn ein Bild geladen ist.
Fast hätte ich dir jetzt widersprochen, denn was ich zuerst gelesen habe:
Graphic ist immer gefüllt
Und das stimmt so nicht - TImage.Picture.Graphic ist nur dann gefüllt, wenn da auch eine Grafik (in den möglichen Formaten) enthalten ist. Der Vorteil des Programmierers: er kann auf die Grafik zugreifen, ohne deren Format zu kennen (zumindest vorerst).

Am Ende hab ich dann doch noch deinen Schlussatz gesehen:
Image1.Picture.Bitmap ist wirklich nur gefüllt wenns ein Bitmap ist. Picture.Graphic ist quasi die Verallgemeinerung und ist immer gefüllt wenn ein Bild geladen ist.
Im vorliegenden Fall könnte er Image1.Picture.Bitmap auf NIL abfragen:
Delphi-Quellcode:
if not (Image1.Picture.Bitmap = NIL) then
begin
// hier etwas mit der Bitmap anstellen.
end;
Wenn der Ausdruck False ist (if Not, also False, ist nicht der Fall) ist eine Grafik im Bitmapformat vorhanden. Andernfalls ist keine Bitmap vorhanden, aber eventuell eine Metagraphik.

Du kannst aber bei TPicture auch eigene Grafikformate regisrieren:

Delphi-Quellcode:
TPicture.RegisterFileFormat('NEF','NEF Format',TWICImage);
TPicture.RegisterFileFormat('TIFF','TIFF Format',TTiffGraphic);

Alle Klarheiten beseitigt?

Gruss
Delbor
Roger
Man muss und kann nicht alles wissen - man muss nur wissen, wo es steht.
Frei nach Albert Einstein
http://roase.ch
  Mit Zitat antworten Zitat