2011-08-07 10 views
5

Estoy buscando cualquier solución para obtener código QR con el borde suave mediante programación.¿Cómo suavizar los bordes de una imagen mediante programación con PHP?

Cualquier solución podría ser correcta. Postprocesamiento después de la generación de código QR o función incorporada de cualquier biblioteca.

+0

¿Qué es exactamente "borde suave"? Parece que hay algunas compañías tecnológicas con ese nombre, pero no con lenguajes de programación o frameworks. – phihag

+0

@phihag: Google tiene más de un resultado: http://blog.qrstyler.com/styling-qr-by-hand-soft-edges/ – hakre

+0

Sí, pero no hay resultados sobre cómo hacerlo mediante programación – gsempe

Respuesta

8

En PHP que puede utilizar la biblioteca GD para poder realizar algunas filtrado de imágenes qrcode en, al igual que el alisado y mediana (fácil de implementar) http://php.net/manual/en/function.imagefilter.php

Esto es lo que necesita .. asumiendo $img es la imagen del Código QR.

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

Después de que el uso

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

para enviar la imagen a la salida.

Smooth qr code

Hay una cosa más - número de iteración de desenfoque gaussiano debe depender del tamaño de punto de código QR. Tal vez pueda verificar el valor más oscuro del bucle, si no es 0 y luego dejar de difuminar.

+0

Probaré diferentes parámetros para hacer lo que quiera. ¿Ya has hecho una transformación de este tipo con GD? – gsempe

+0

He hecho muchas transformaciones y filtraciones, con GD, otras bibliotecas y con mis propios algoritmos. Muéstrame exactamente lo que necesitas, te guiaré para que hagas eso. – szamil

+0

Lo que necesito exactamente es suavizar ángulos (obtener esquinas redondeadas) de un código QR como este https://chart.googleapis.com/chart?cht=qr&chl=Hello+world&choe=UTF-8&chs=400x400 All geometric las figuras se suavizan en currículum. – gsempe

0

Por la manera realmente rápida y sucia: Sube la escala de la imagen x4, luego baja la escala de nuevo a la cuarta parte con imagecopyresampled. Pero eso no siempre es ideal, y sí, szamil answer es mucho mejor que esto.

Cuestiones relacionadas