我正在寻找任何解决方案,以编程方式获得带有软边缘的QR码。
任何解决方案都可能是正确的。 QR码生成后的后处理或任何库的内置功能。</ p>
答案 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);
将图像发送到输出。
还有一件事 - 高斯模糊的迭代次数应该取决于qr代码点大小。也许你可以检查循环中最暗的值,如果它不是0则停止模糊。
答案 1 :(得分:0)
对于真正的快速和肮脏的方式:向上扩展图片x4,然后再次向下缩放到imagecopyresampled
的四分之一。但这并不总是理想的,是的,szamil answer比这更好。