如何用PHP以编程方式软化图像的边缘?

时间:2011-08-07 21:20:57

标签: php javascript qr-code

我正在寻找任何解决方案,以编程方式获得带有软边缘的QR码。

任何解决方案都可能是正确的。 QR码生成后的后处理或任何库的内置功能。<​​/ p>

2 个答案:

答案 0 :(得分:9)

在PHP中,您可以使用GD库对qrcode图像执行一些过滤,如平滑和中位数(易于实现) http://php.net/manual/en/function.imagefilter.php

这就是你需要的......假设$img是qrcode的图像。

$i=10;
while($i--) 
imagefilter($img,IMG_FILTER_GAUSSIAN_BLUR);
imagefilter($img,IMG_FILTER_CONTRAST,-100);

之后使用

header("Content-type: image/jpeg");
imagejpeg($img,null,100);

将图像发送到输出。

Smooth qr code

还有一件事 - 高斯模糊的迭代次数应该取决于qr代码点大小。也许你可以检查循环中最暗的值,如果它不是0则停止模糊。

答案 1 :(得分:0)

对于真正的快速和肮脏的方式:向上扩展图片x4,然后再次向下缩放到imagecopyresampled的四分之一。但这并不总是理想的,是的,szamil answer比这更好。