(Hallo|Hi(ho)|Tag) Tom,
nicht ganz trivial (noch dazu, wo du unpack() nicht magst ...).
Naja, es geht so. Ist eben ein wenig cryptisch, aber man gewöhnt sich an alles.
Der Rest funktionierte ganz gut (das IFF-Format ist auch
idioten-freundlich aufgebaut).Dann sollte ich vielleicht damit anfangen? *chchch*
;-)
Das bezog sich mehr auf die einfache Grundstruktur. Es ist so eine
Art "frühes XML", allerdings auf binärer Basis.
Aber das benutzt wahrscheinlich sowieso kaum einer.
Das Originalformat vielleicht. Aber es gibt einen Haufen Abkömmlinge
von AIFF bis RIFF, wer IFF versteht, versteht die auch.
Außerdem fehlt mir dafür eine Konstante. Was liefert getimagesize() für ein xpm-Bild?
Bei mir (WinXP, PHP 5.2.x): 16.Das wäre diejenige für XBM.
Ja, das war die definierte Konstante. getimagesize() liefert bei
mir für die Wikipedia-Beispielbilder bei XBM die 16 und bei XPM ein
leeres Array, kann also mit XPM anscheinend nichts anfangen, obwohl
Höhe und Breite da draus zu extrahieren kein höherer Aufwand wäre.
Es gibt aber zwei verschiedene Funkitons-Paare in der GD-LIB.
Das muss doch einen grund haben?
Hmm, ich weiß nur, dass Konstanten, die mit IMAGETYPE_ anfangen, quasi
die Liste der getimagesize() bekannten Grafikformate darstellen, bspw.:
// konstante wert (mime-type) (.endung)
@define('IMAGETYPE_GIF' , 1); (image/gif) (.gif)
@define('IMAGETYPE_JPEG' , 2); (image/jpeg) (.jpeg)
@define('IMAGETYPE_PNG' , 3); (image/png) (.png)
@define('IMAGETYPE_SWF' , 4); (application/x-shockwave-flash) (.swf)
@define('IMAGETYPE_PSD' , 5); (image/psd) (.psd)
@define('IMAGETYPE_BMP' , 6); (image/bmp) (.bmp)
@define('IMAGETYPE_TIFF_II' , 7); (image/tiff) (.tiff)
@define('IMAGETYPE_TIFF_MM' , 8); (image/tiff) (.tiff)
@define('IMAGETYPE_JPC' , 9); (application/octet-stream) (.jpc)
@define('IMAGETYPE_JPEG2000' , 9); (application/octet-stream) (.jpc)
@define('IMAGETYPE_JP2' , 10); (image/jp2) (.jp2)
@define('IMAGETYPE_JPX' , 11); (application/octet-stream) (.jpx)
@define('IMAGETYPE_JB2' , 12); (application/octet-stream) (.jb2)
@define('IMAGETYPE_SWC' , 13); (application/x-shockwave-flash) (.swf)
@define('IMAGETYPE_IFF' , 14); (image/iff) (.iff)
@define('IMAGETYPE_WBMP' , 15); (image/vnd.wap.wbmp) (.bmp)
@define('IMAGETYPE_XBM' , 16); (image/xbm) (.xbm)
Die mit IMG_ anfangenden Konstanten bilden ein Bitmuster. Sie stellen die
Grafikformate dar, für die es eine Einlesefunktion der Art ImageCreateFrom...() gibt:
@define('IMG_GIF' , 1);
@define('IMG_JPEG' , 2);
@define('IMG_JPG' , 2);
@define('IMG_PNG' , 4);
@define('IMG_WBMP' , 8);
@define('IMG_XPM' , 16);
MffG
EisFuX