【发布时间】:2015-03-26 05:58:08
【问题描述】:
我是第一次使用 ImageMagick,我已经成功安装了所有依赖项,并且可以通过终端运行转换,但是我在从 PHP 运行一些命令时遇到了问题。
这是一个让我完全难过的问题,这在终端中效果很好:
convert DSC4741.nef result.jpg
但这不会在 PHP 中运行:
$im = new Imagick( 'DSC4741.nef' );
$im->setImageFormat( 'jpg' );
$im->writeImage( 'result.jpg' );
$im->clear();
$im->destroy();
我可以用 PHP 转换 jpeg 没问题,但它拒绝做 .NEF。
这是我检查过的内容:
- 文件的权限很好(全局可写)
- 我可以用确切的代码转换 JPG
- 我将扩展名改为小写
- 从文件名中删除了前面的下划线
任何帮助将不胜感激!
【问题讨论】:
-
我很好奇,因为你不说。使用 .nef 执行此操作时会发生什么错误?怎么了? ^^
-
NEF 文件可能有 30+MB,因此您可能会遇到空间问题。只是为了测试,在读入之前尝试将图像尺寸设置得更小,比如 1024x768,看看是否有帮助......使用
$im->setSize() -
@Jon 我只是得到一个空白页,浏览器控制台给了我一个 500 Internal Server Error。
-
@MarkSetchell 我尝试输入 800x600,但它仍然在做同样的事情。 :-(
-
您是在 OS X、Linux 还是 Windows 上运行?您是在 Apache 中运行 PHP,还是仅使用独立脚本,如
#!/usr/bin/php <?php $im=... ?>
标签: php image-processing imagemagick imagemagick-convert