Guten Tag,
ich probiere nun schon seit einigen Stunden eine einfache RAW-Konvertierung mit ImageMagick und PHP durchzuführen. Leider bricht der Prozess immer mit Fehlermeldungen ab. Prozesse mit .jpg-Dateien funktionieren einwandfrei.
Der PHP-Code:
Code
#https://stackoverflow.com/questions/10558487/convert-raw-photos-to-jpeg-in-linux-php
$im = new Imagick( './uploads/Sonstiges/Sonnenfinsternis2015/DSC02084.ARW' );
$im->setImageFormat( 'jpg' );
$im->writeImage( './uploads/result.jpg' );
$im->clear();
$im->destroy();
Die Fehlermeldung:
Code
Fatal error: Uncaught ImagickException: unable to open image `/tmp/magick-16592_PhFXgnHIOWO.ppm': No such file or directory @ error/blob.c/OpenBlob/2701 in /var/www/vhosts/.../raw.php:26 Stack trace: #0 /var/www/vhosts/..../raw.php(26): Imagick->__construct('./uploads/Sonst...') #1 {main} thrown in /var/www/vhosts/.../raw.php on line 26
Der Alternativ-Code führt zu folgendem Ergebnis:
Code
#https://gist.github.com/spyesx/3718e013af53d6603b8326ffbd62c31c
$raw = "./uploads/Sonstiges/Sonnenfinsternis2015/P1099570.RW2";
$rawExtention = 'RW2';
$outputDirName = './';
$exportFormat = 'jpg';
$imageCompressionQuality = 90;
$imageResolution = array(144,144);
$handle = fopen($raw, 'rb');
$im = new Imagick();
$im->readImageFile($handle);
$im->setImageResolution($imageResolution[0],$imageResolution[1]);
$im->setImageFormat($exportFormat);
$im->setImageCompressionQuality($imageCompressionQuality);
$im->writeImage("./uploads/output.jpg");
$im->clear();
$im->destroy();
print($path.'/'.$filename.'.'.$exportFormat."\n\n");
Display More
Die Fehlermeldung bei einem Sony .ARW:
Code
Fatal error: Uncaught ImagickException: no decode delegate for this image format `' @ error/constitute.c/ReadImage/504 in /var/www/vhosts/.../raw.php:24 Stack trace: #0 /var/www/vhosts/.../raw.php(24): Imagick->readimagefile(Resource id #3) #1 {main} thrown in /var/www/vhosts/..../raw.php on line 24
Die Fehlermeldung bei einem Panasonic .RW2
Code
Fatal error: Uncaught ImagickException: TIFF directory is missing required "ImageLength" field. `MissingRequired' @ error/tiff.c/TIFFErrors/564 in /var/www/vhosts/..../raw.php:18 Stack trace: #0 /var/www/vhosts/..../raw.php(18): Imagick->readimagefile(Resource id #3) #1 {main} thrown in /var/www/vhosts/..../raw.php on line 18
Hab ich irgendwas übersehen oder liegt es tatsächlich an einer Einschränkung durch die Netcup Webhosting-Umgebung?
Vielen Dank und viele Grüße!