2011-08-07 6 views
5

ソフトエッジでプログラムでQRコードを取得するためのソリューションを探しています。PHPで画像のエッジをプログラムで柔らかくするには?

すべての解決方法が正しい可能性があります。 QRコード生成後の処理、または任意のライブラリの組み込み機能。

+0

正確に「ソフトエッジ」とは何ですか?その名前を持ついくつかのハイテク企業があるようですが、プログラミング言語やフレームワークはありません。 – phihag

+0

@phihag:Googleには複数の結果があります:http://blog.qrstyler.com/styling-qr-by-hand-soft-edges/ – hakre

+0

はい、プログラムで行う方法はありません。 – gsempe

答えて

8

はPHPでは、$imgと仮定するとQRコードの画像である。これは、何が必要です http://php.net/manual/en/function.imagefilter.php

(簡単に実装すること)の平滑化と中央値のように、QRコードの画像に何らかのフィルタリングを実行するためにGDライブラリを使用することができます。その出力に画像を送信する

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

を使用した後

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

Smooth qr code

もう一つのことがあります - ガウスぼかしの繰り返しの数は、QRコード・ポイント・サイズに依存すべきです。おそらく、最も暗い値をループでチェックすることができます.0でなければぼかしを停止します。

+0

私は何をしたいのか異なるパラメータを試してみます。あなたはすでにGDでこのような変換を行っていますか? – gsempe

+0

GD、他のライブラリ、独自のアルゴリズムを使って、多くの変換とフィルタリングを行っています。私にあなたが必要とするものを正確に示して、それをどうやって行うのか教えてください。 – szamil

+0

私が正確に必要とするのは、このようなQRコード図面の角度を丸める(角を丸める)ことです。https://chart.googleapis.com/chart?cht=qr&chl=Hello+world&choe=UTF-8&chs=400x400 すべての幾何学的フィギュアは再開で柔らかくなる。 – gsempe

0

実際の素早く汚れた方法:画像x4をアップスケールし、imagecopyresampledで再び1/4にダウンスケールします。しかし、それは常に理想的ではない、そして、ええ、szamil answerはこれよりずっと優れています。

関連する問題