Picture.datatype und Bildformate

Ihr habt ein Problem mit C++ oder anderen Sprachen ? Dann seit Ihr in diesem Forum genau richtig! Hier können alle Fragen gestellt werden, die mit Programmierung (MorphOS, Linux, BeOS, BSD,...) zu tun haben.

Moderatoren: analogkid, roschmyr

Benutzeravatar
pegasossigi2
Romanverfasser
Romanverfasser
Beiträge: 695
Registriert: 09 Aug 2007, 13:16

Picture.datatype und Bildformate

Beitragvon pegasossigi2 » 10 Apr 2012, 19:39

Wie kann man mit dem Datatype-System feststellen, welchen Dateityp das grade geladene Bild hat ?
Also ob ein Bild ein PNG oder u.B. ein Jpeg - Bild ist.
MacMini G4/1.5GHz, PowerBook G4 1.667 GHz

Benutzeravatar
Thomas
Mitglied
Mitglied
Beiträge: 52
Registriert: 11 Sep 2003, 11:03
Kontaktdaten:

Re: Picture.datatype und Bildformate

Beitragvon Thomas » 11 Apr 2012, 09:49

DTA_DataType gibt dir einen Zeiger auf eine struct DataType, darin findest du einen Zeiger auf struct DataTypeHeader und darin sind die Informationen über den Bildtyp. Entweder du interpretierst dth_ID als vier ASCII-Zeichen oder du nimmst ln_Name, da steht der Klassenname drin (also z.b. WarpJPEG.datatype).

Benutzeravatar
pegasossigi2
Romanverfasser
Romanverfasser
Beiträge: 695
Registriert: 09 Aug 2007, 13:16

Re: Picture.datatype und Bildformate

Beitragvon pegasossigi2 » 12 Apr 2012, 09:51

Das hört sich doch mal super an :D

Ich versuche das mal wenn ich Zeit habe.
MacMini G4/1.5GHz, PowerBook G4 1.667 GHz

Benutzeravatar
Thomas
Mitglied
Mitglied
Beiträge: 52
Registriert: 11 Sep 2003, 11:03
Kontaktdaten:

Re: Picture.datatype und Bildformate

Beitragvon Thomas » 13 Apr 2012, 15:22

Ich hab's nochmal nachgeschaut. dth_Name ist das, was du möchtest. ln_Name gibt es im DataTypeHeader nicht.

dth_ID ist eine 32bit-ID, die zwar üblicherweise auch mit vier ASCII-Codes gefüllt ist, aber das ist nicht portierbar. Z.B. unter AROS werden die Bytes in anderer Reihenfolge gespeichert.

dth_Name ist ein Zeiger auf einen String, der den Dateityp enthält (z.B. "JPEG").

dth_BaseName ist ein Zeiger auf den Namen der Klasse, ohne ".datatype". Also z.B. "WarpJPEG".


Zurück zu „Code-Küche“



Wer ist online?

Mitglieder in diesem Forum: 0 Mitglieder und 1 Gast