4

画像の一部だけをピクセル化する方法を見つけようとしていますが、これまでのところ成功していません。

現在、私は次のチュートリアルに従っています: http://www.mutinydesign.co.uk/free-scripts/live-photo-blurring-script/

jQuery プラグイン「imgAreaSelect」を使用して、ユーザーが UI から画像の一部を選択できるようにします。次に、「ピクセル化」をクリックします。これにより、imagemagick 用に php で記述された pixelate 関数への ajax 呼び出しが行われます。ピクセル化関数は次のようになります。

<?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;
?>

これは機能しますが、選択した部分だけでなく、画像全体をピクセル化します。アイデアや提案をいただければ幸いです。誰かが同様のことを達成できましたか?

4

1 に答える 1

1

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

その後、出力します。

画像のサブセクションにぼかしがあり、残りは鮮明です。

于 2010-11-18T19:56:37.763 に答える