2010-11-18 7 views
4

私はイメージの一部のみをピクセル化する方法を考えていますが、これまでのところ成功していません。ユーザーがUIからの画像の一部を選択することができるようにjQueryプラグイン「imgAreaSelect」を使用してhttp://www.mutinydesign.co.uk/free-scripts/live-photo-blurring-script/ImageMagickを使用して画像の一部をピクセル化する方法は?

現在、私は、次のこのチュートリアルを次のようです。次に、 'pixelate'をクリックします。これは、imagemagickのPHPで書かれたpixelate関数へのajax呼び出しを行います。 pixelate関数は次のようになります。

<?php 
$x1 = $_GET['x1']; 
$y1 = $_GET['y1']; 
$x2 = $_GET['x2']; 
$y2 = $_GET['y2']; 
$inputImage = $_GET['inputImage']; 
$outputImage = 'output_'.$_GET['inputImage']; 

exec("convert {$inputImage} \(+clone -scale 20% -scale 500% \) \ 
     \(+clone -gamma 0 -fill white \ 
     -draw 'rectangle {$x1},{$y1} {$x2},{$y2}' -blur 10x4 \) \ 
     -composite {$outputImage}"); 

echo $outputImage; 
?> 

これは機能しますが、選択された部分だけでなく画像全体がピクセル化されます。任意のアイデアや提案を感謝します。誰かが似たようなことを達成できましたか?

答えて

1

あなたがする必要があるのは、画像を2つの変数に分割して複製することです。次に、希望の場所の周りに1つのイメージをトリミングします。それをピクセル化してから、同じ場所にある他のイメージにまっすぐに戻します。

次に出力します。

画像のサブセクションにはぼかしが表示され、残りは透明になります。

+0

それは正しいと思います。私はしようとしているが、それほど遠くない(私はimagemagickに初心者です:)。共有できるコード例は何ですか? – IntricatePixels

関連する問題