使用 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 库提高图像质量的主要内容,如果未能解决你的问题,请参考以下文章

PHP GD 图像水印质量

PHP GD 库质量下降。其他想法?

Perl Image Resize 使用 GD 并保持图像质量

PHP GD imagejpeg:输出文件大小比原始文件大

如何使用 Camera 2 API Android 提高捕获图像的质量?

如何提高图像质量? [关闭]