我是ImageMagick的新手,我最近发现了这个名为 Fred的ImageMagick Scripts
的精彩教程资源但是,我想知道如何在Windows环境(WAMP)上使用这些脚本和PHP Imagick扩展。
例如,这是Fred的脚本,用于校正图像的伽玛。
USAGE: autogamma [-c colormode] infile outfile
USAGE: autogamma [-h or -help]
-c .... colormode ..... colorspace/channel to use to compute
....................... gamma statistics; choices are: gray,
....................... intensity, luminance, lightness, brightness,
....................... average, magnitude, rgb; default=luminance
-m .... midrange ...... midrange value from which to compute gamma;
....................... 0<float<1; default=0.5
这是 Fred的脚本页面中唯一可用的代码。
现在,我在这里创建一个新的Imagick对象并使用 Fred的脚本读取我要编辑的特定图像。
$im = new Imagick();
$im->readImage( $imagePath );
那么,从以后开始,如何链接这两个脚本?如何将Fred的脚本添加到我的Imagick对象中?
是否需要安装任何其他软件或库?还是需要导入的文件?
$result = chmod("2colorthresh", 0777);
echo $result;
$result2 = exec("2colorthresh -help");
echo $result2;
对于第一个回声,我得到1.因为我认为是真的。
但是对于第二个回声,我什么都没得到。
答案 0 :(得分:3)
你不能/不需要在Imagemagick或Imagick中运行Freds脚本,因为它们是独立的bash脚本。
您可能需要安装Cygwin或类似软件,因为某些Linux类型的功能在Windows localhost环境中不可用。
如果您确实在Windows上运行了所有设置并希望使用php,那么您首先需要将脚本CHMOD到777或者您需要对权限做什么,然后使用这样的代码:
exec("/FULL PATH TO/script.sh input.png output.png
答案 1 :(得分:1)
我的脚本不能在Imagick中运行。您可以使用PHP exec()运行它们。
尝试类似:
<?php
exec("bash 2colorthresh logo: logo.gif 2>&1",$out,$returnval);
foreach($out as $text)
{echo "$text<br>";}
?>
如果失败,请根据需要提供2colorthresh的完整路径和图像。如果您下载的文件附加了.sh,则重命名它或在命令中使用2colorthresh.sh。