2013-07-24 33 views

回答

2

Vignette's将默认为给定图像的背景颜色。改变这种颜色就像在使用Vignette效果转换图像之前设置图像的背景颜色一样简单。

<?php 
$img = new Imagick("source.png"); 

$img->setImageBackgroundColor("black"); 
$img->vignetteImage(-5.0,15.0,15,15); 

$img->writeImage("source_vignette.png"); 
$img->destroy(); 
exit(); 

enter image description here

更好的。使用ImagickPixel对象可以提高应用程序的灵活性。

<?php 
$img = new Imagick("source.png"); 

$pixel = new ImagickPixel(); 

for($i=0;$i < 1; $i += 0.1) { 
$pixel->setHSL($i,0.5,0.5); 
$img->setImageBackgroundColor($pixel); 
$img->vignetteImage(-5.0,15.0,15,15); 
$img->writeImage("source_vignette_$i.png"); 
} 

$pixel->destroy(); 
$img->destroy(); 
exit();