使用 PHP gd 库提高图像质量
Posted
技术标签:
【中文标题】使用 PHP gd 库提高图像质量【英文标题】:sharpen image quality with PHP gd library 【发布时间】:2011-05-26 16:15:14 【问题描述】:不知道在哪里,但我遇到了一个图片托管网站,可以让您上传大格式的图片或锐化它。
我个人不记得也不知道 GD 库有任何用于锐化图像的功能,这可能只是质量提升的另一个词。
如果有人知道锐化图像的功能,请告诉我,因为我个人在 Image Magic 和/或 GD 库中都不知道此类功能。
提前致谢【问题讨论】:
【参考方案1】:您可以在 GD 中使用带有锐化蒙版的imageconvolution。来自http://adamhopkinson.co.uk/blog/2010/08/26/sharpen-an-image-using-php-and-gd/:
PHP 和 GD 可以通过向
imageconvolution
提供矩阵来锐化图像:// create the image resource from a file $i = imagecreatefromjpeg('otter.jpg'); // define the sharpen matrix $sharpen = array( array(0.0, -1.0, 0.0), array(-1.0, 5.0, -1.0), array(0.0, -1.0, 0.0) ); // calculate the sharpen divisor $divisor = array_sum(array_map('array_sum', $sharpen)); // apply the matrix imageconvolution($i, $sharpen, $divisor, 0); // output the image header('Content-Type: image/jpeg'); imagejpeg($i);
【讨论】:
【参考方案2】:您可以将imageconvolution()
与对应于锐化过滤器的矩阵一起使用。 PHP网站上此评论的详细信息:http://php.net/manual/en/ref.image.php#56144
【讨论】:
A所以有一个图像锐化功能,但个人没用过imageconvolution()所以不太了解 这就是图像编辑器中大多数锐化/不锐化滤镜的功能 - 带有矩阵的卷积函数。【参考方案3】:我还没有尝试过,但就 ImageMagick 而言,this 看起来像您正在寻找的东西。
【讨论】:
【参考方案4】:在 php 的 GD 库中有一个带路径的文件
lib/PHPImageWorkshop/Core/ImageWorkshopLayer.php
请去保存公共功能,您可以将图像质量更改为 100。 确保您要创建哪种类型的图像。 希望这会对你有所帮助。
【讨论】:
以上是关于使用 PHP gd 库提高图像质量的主要内容,如果未能解决你的问题,请参考以下文章
Perl Image Resize 使用 GD 并保持图像质量