2010-11-18 86 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

相關問題