phpThumb没有设置参数 - fltr [] usm

时间:2013-03-01 00:25:04

标签: thumbnails phpthumb

我正在使用Brett的Mr. PHP thumb caching script和phpThumb创建我的拇指。它运行得非常好,除了一件事......我无法设置和处理UnSharpMask过滤器。脚本的相关部分如下所示:

// generate the thumbnail
require('../phpthumb/phpthumb.class.php');
$phpThumb = new phpThumb();
$phpThumb->setSourceFilename($image);
$phpThumb->setParameter('w',$width);
$phpThumb->setParameter('h',$height);
$phpThumb->setParameter('q','95'); // set the quality to 95%
$phpThumb->setParameter('fltr[]','usm|80|0.5|3'); // <--- THIS SHOULD SET THE USM FILTER
$phpThumb->setParameter('f',substr($thumb,-3,3)); // set the output file format

if (!$phpThumb->GenerateThumbnail()) {
    error('cannot generate thumbnail');
}

我猜我的语法有问题,因为fltr []参数需要括号。我试过像这样转义括号:'fltr []'但是这也不起作用。

我已经使用了其他几个可能的参数并取得了很好的成功(缩放裁剪,最大高度,最大宽度等等)。除了过滤器(包括usm - UnSharpMask)之外,一切似乎都有效。

我没有收到任何错误。它整天吐出大拇指。他们只是没有磨砺。

供参考,以下是讨论所有可能设置和过滤器的official phpThumb readme file

感谢您的光临。

1 个答案:

答案 0 :(得分:0)

经过多次试验,错误和恶化后,我终于发现了解决方案,其中包含了phpThumb附带的一个演示文件。

这是一起删除括号的问题。基本上改变了这一行:

$phpThumb->setParameter('fltr[]','usm|80|0.5|3');

到此:

$phpThumb->setParameter('fltr','usm|80|0.5|3');

之后,只需调整设置即可获得所需的锐度。