如何使用ImageMagick像素化部分图像?

时间:2010-11-18 19:53:26

标签: php image-processing image-manipulation imagemagick blur

我正试图找出一种方法来像素化图像的一部分但到目前为止没有成功。

目前我正在遵循以下本教程:http://www.mutinydesign.co.uk/free-scripts/live-photo-blurring-script/

使用jQuery插件“imgAreaSelect”,以便用户可以从UI中选择部分图片。然后点击'pixelate'。然后对phpmagick编写的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;
?>

这确实有效,但它会对整个图像进行像素化,而不仅仅是选中的部分。任何想法或建议表示赞赏。有没有人能够完成类似的事情?

1 个答案:

答案 0 :(得分:1)

您需要做的是将图像分成两个变量,复制它。然后在所需位置周围裁剪一个图像。像素化它,然后将它直接放回到它所在的另一个图像上。

然后输出它。

图像的子部分有模糊,其余部分清晰。