是否有可能使用imagefilter()函数使图像更加清晰?我使用的是imagettftext(),它增加了字体的反别名,字体看起来有点不聚焦。我喜欢使我的最后图像变得更锐化,这样我就可以减少图像中字符周围的模糊。
不同测试图像
光字体图像
我喜欢我的字体看起来像它旁边的那些线条。

黑色字体图像

图像与-$font_color (一些网站资源建议使字体颜色值为负值,这基本上关闭了反混叠),但在这种情况下,字体看起来很难看。(左到右100是与关闭反混叠)

发布于 2012-10-25 23:39:21
GD溶液
$old = "old.png";
$new = "new.png";
$im = imagecreatefrompng($imgname);
imagetruecolortopalette($im, FALSE, 256);
imagecolorset($im, imagecolorclosest($im, 159, 159, 159), 0, 0, 0);
imagecolorset($im, imagecolorclosest($im, 191, 191, 191), 0, 0, 0);
imagepng($im, $new);
imagedestroy($im);图像魔术解
convert old.png -fuzz 0% -fill rgb(0,0,0) -opaque rgb(159,159,159) new.png
convert new.png -fuzz 0% -fill rgb(0,0,0) -opaque rgb(191,191,191) new.png他们会输出


Old new发布于 2012-10-25 23:53:32
imagefilter()中没有这样的过滤器(您尝试过IMG_FILTER_EDGEDETECT吗?)对于急剧的过渡,也许它能给你带来一些东西)。但是您可以尝试使用imageconvolution来代替:
imageconvolution($imageResource, array(
array( -1, -1, -1 ),
array( -1, 16, -1 ),
array( -1, -1, -1 ),
), 8, 0);您可能想看看PHP imageconvolution() leaves black dot in the upper left corner,imageconvolution似乎有问题
另一种可能是在应用文本之前调整图像的大小,使其(比方说)大200%。然后,使用字体再应用文本200%大。然后下采样图像。根据字体特征,这将有减少模糊的效果。使用整数幂2 (200%,400%,.)有助于减少人工制品。
发布于 2012-10-30 21:36:41
你用的是机器人字体的两个极端。选择光或常规版本,它将是黑暗的,而不是太黑暗。
字体渲染器的抗混叠功能不能使细线条小于一个像素厚,从而使它们变暗。
https://stackoverflow.com/questions/13078812
复制相似问题