2011-08-07 13 views
5

QR Code'u programlı olarak yumuşak kenarlı almak için herhangi bir çözüm arıyorum.Bir görüntünün kenarlarını PHP ile programlı olarak nasıl yumuşatırsınız?

Herhangi bir çözüm doğru olabilir. QR Code jenerasyonundan sonra işlem sonrası veya herhangi bir kütüphane özelliği ile oluşturulmuştur.

+0

Tam olarak "yumuşak kenar" nedir? Bu isimle bazı teknoloji şirketleri var gibi görünüyor, ancak programlama dilleri veya çerçeveleri değil. – phihag

+0

@phihag: Google'ın birden fazla sonucu var: http://blog.qrstyler.com/styling-qr-by-hand-soft-edges/ – hakre

+0

Evet, ancak programatik olarak nasıl yapılacağı konusunda hiçbir sonuç yok – gsempe

cevap

8

PHP size $img varsayarak QRCode görüntüsü olan .. Bu ne ihtiyaç vardır http://php.net/manual/en/function.imagefilter.php

(kolay uygulamak için) yumuşatma ve medyan gibi, qrcode görüntü üzerinde bazı filtreleme gerçekleştirmek için GD kütüphanesi kullanabilirsiniz. Bu kullanım

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

sonra

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

iletilecek görüntüyü göndermek için.

Smooth qr code

bir şey daha var - Gaussian Blur yineleme sayısı qr kod noktası büyüklüğüne bağlı olmalıdır. Belki de en karanlık değeri kontrol edebilirsiniz, eğer 0 değilse ve o zaman bulanıklaşmayı bırakın.

+0

işini yapmalıyım. İstediğimi yapmak için farklı parametreleri deneyeceğim. GD ile böyle bir dönüşüm gerçekleştirdiniz mi? – gsempe

+0

GD, diğer kütüphaneler ve kendi algoritmalarla çok fazla dönüşüm ve filtreleme yaptım. Bana tam olarak neye ihtiyacın olduğunu göster, nasıl yapacağını sana rehberlik edeceğim. – szamil

+0

Tam olarak ihtiyacım olan şey, bir QR Kodunun bu şekilde çizim açılarını yumuşatmaktır (yuvarlanmış köşeler) https://chart.googleapis.com/chart?cht=qr&chl=Hello+world&choe=UTF-8&chs=400x400 Tüm geometrik rakamlar özgeçmişte yumuşar. – gsempe

0

Gerçekten hızlı ve kirli yolla: Resmi x4 olarak ölçeklendirin, ardından imagecopyresampled ile tekrar çeyrek olarak küçültün. Ama bu her zaman ideal değildir ve evet, szamil answer bundan daha iyidir.

İlgili konular