我正在使用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。
感谢您的光临。
答案 0 :(得分:0)
经过多次试验,错误和恶化后,我终于发现了解决方案,其中包含了phpThumb附带的一个演示文件。
这是一起删除括号的问题。基本上改变了这一行:
$phpThumb->setParameter('fltr[]','usm|80|0.5|3');
到此:
$phpThumb->setParameter('fltr','usm|80|0.5|3');
之后,只需调整设置即可获得所需的锐度。