将RAW转换为JPEG(尝试使用)ImageMagick

时间:2014-05-30 00:39:29

标签: php image imagemagick

我不关心将RAW转换为JPEG格式的解决方案是否使用ImageMagick,它似乎是最多的,所以我从那里开始。

我已成功将JPEG转换为不同大小的JPEG,但无法将RAW转换为JPEG。看了Convert RAW photos to JPEG in linux/php之后,我尝试了这段代码:

try {
    $im = new Imagick($inputURL);
    $im->setimageformat("jpg");
    $im->writeimage($outputURL);
    $im->clear();
    $im->destroy();
} catch (Exception $e) {
    echo $e;
}

并收到此错误:

exception 'ImagickException' with message 'unable to open image `/tmp/magick-XXaana6Q.ppm': No such file or directory @ blob.c/OpenBlob/2480' in /UPSTREAM/public_html/core/functions.php:116 Stack trace: #0 /UPSTREAM/public_html/core/functions.php(116): Imagick->__construct('/UPSTREAM/p...') #1 /UPSTREAM/public_html/core/functions.php(129): resizeImage('/UPSTREAM/p...', '/UPSTREAM/p...', Array) #2 {main}

然后我尝试了:

exec("/usr/bin/convert -define jpeg:size=1280x720 {$inputURL} {$outputURL}");

基于底部附近的相同帖子,但它不会生成任何文件。

然后我尝试raw to JPEG conversion,但我也没有运气。然后我用Convert PDF to JPEG with PHP and ImageMagick对其进行了修改,但无济于事(编辑:我收到与上面相似的错误):

try {
    $im = new Imagick();
    $im->setResolution(300,300);
    $im->readimage($inputURL); 
    $im->setimageformat("jpg");
    $im->writeimage($outputURL);
    $im->clear();
    $im->destroy();
} catch (Exception $e) {
    echo $e;
}

对于踢球,这些是我尝试过的变种:

//echo "/usr/bin/convert {$inputURL} -resize {$dimensions[0]}x{$dimensions[1]} {$outputURL}";
#phpinfo();
#exec("/usr/bin/convert {$inputURL} -resize {$dimensions[0]}x{$dimensions[1]} {$outputURL}");
#exec("/usr/bin/convert {$inputURL} -define {$dimensions[0]}x{$dimensions[1]} {$outputURL}");
#exec("/usr/bin/convert -resize {$dimensions[0]}x{$dimensions[1]} rgb:{$inputURL} {$outputURL}");
#exec("/usr/bin/convert -define jpeg:size=1280x720 {$inputURL} {$outputURL}");

(可能)相关详细信息:

  • 我使用WebHostingHub作为我的主机,因此/usr/bin/convert等同于convert
  • (编辑)我正在使用索尼相机,因此我的所有RAW文件都将包含.ARW扩展名

0 个答案:

没有答案