Php 将原始图像转换为JPEG(尝试使用)ImageMagick

Php 将原始图像转换为JPEG(尝试使用)ImageMagick,php,image,imagemagick,Php,Image,Imagemagick,我不在乎将原始图像转换为JPEG的解决方案是否使用ImageMagick,它似乎是最难理解的,所以我从这里开始。 我成功地将JPEG转换为不同大小的JPEG,但无法将原始图像转换为JPEG。查看后,我尝试了以下代码: try { $im = new Imagick($inputURL); $im->setimageformat("jpg"); $im->writeimage($outputURL); $im->clear(); $im-&

我不在乎将原始图像转换为JPEG的解决方案是否使用ImageMagick,它似乎是最难理解的,所以我从这里开始。

我成功地将JPEG转换为不同大小的JPEG,但无法将原始图像转换为JPEG。查看后,我尝试了以下代码:

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}");
基于底部附近的同一帖子,但它不生成任何文件

然后我试过了,但我也没能用上那个代码。然后我修改了它,但没有结果(编辑:我得到了一个与上面类似的错误):

对于踢腿,我尝试过以下几种方法:

//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
    相当
  • (编辑)我使用的是索尼相机,因此我的所有原始文件都将包含
    .ARW
    扩展名

首先,有多种原始格式
//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}");