PHP: PPM-Reader
(Kommentare: 0)
Einfache PHP-Klasse zum Einlesen von PPM-Bild-Dateien (PNM, PPM, PGM, PBM). Nicht besonders elegant, aber hat bisher all meine PPM-Dateien korrekt eingelesen.
Mehr Infos zum Format siehe NetPBM.
<?php /** Class to read ppm, pnm, pgm, pbm images. */ class PpmImageReader { public function PpmImageReader() { } public function getType(); /** Returns true iff this reader can read given file (at least file extension should be * checked. * @return bool True if reader can read file, false otherwise */ public function canRead($filename); /** Reads ppm/pbm/pgm file and returns array with 6 elements: type name, image resource, width, height, dpi for x, dpi for y. * Dpi values might be 0 if file format does not provide dpi or other resolution information. */ public function read($filename); } ?>
Vollständiger Code zum Download: PpmImageReader.php.
Anmerkungen:
- Nicht wundern über die Rückgabewerte der read-Methode (z.B. DPI-Wert, den PPM gar nicht vorsieht), ich habe die Klasse hier herausgenommen aus einem Paket mit mehreren ImageReader-Klassen, die zum Teil sehr wohl diese Werte zurückgeben können.
- In der o.g. Dokumentation wird gesagt, dass die Farbwerte nicht (notwendigerweise) RGB-Werte sein müssen bzw. nicht-linear seien etc. Hab ich nicht verstanden, nicht implementiert und alle PPM-Bilder, die mir bisher über den Weg gelaufen sind, hatten dieses Problem nicht. Der Code ist im Grunde auch schon recht alt, war mal ein Perl-Skript für ein Unix-System, dessen man-Page seinerzeit auch nur von RGB bzw. einem linear runter-skalierten Farbraum gesprochen hatte.
Kommentare
Einen Kommentar schreiben