2010-11-18 83 views
4

我试图找出一种方法来仅将像素的一部分像素化,但目前为止尚未成功。如何使用ImageMagick使图像的一部分像素化?

目前我下面这个教程如下:http://www.mutinydesign.co.uk/free-scripts/live-photo-blurring-script/

使用jQuery插件“imgAreaSelect”,使用户可以选择从UI画面的一部分。然后点击'像素化'。然后,这使得一个Ajax调用pixmalate函数用php编写imagemagick。像素化功能看起来像这样:

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

听起来不错。我试图但没有那么远(我是imagemagick的新手:)。你可能能够分享的任何代码示例? – IntricatePixels 2010-11-18 22:32:20

相关问题