2011-11-27 68 views
10

我在使用PHP在图像上添加投影到文字上。在文字上投下阴影

我知道如何将图像添加到图像以及某些库如何允许您添加块阴影,但我看不到任何允许您添加褪色阴影的图像。

这可能吗?

回答

2

GD不能开箱即用。如果可以,请使用ImageMagick。关于如何进行造型阴影的示例here

+0

我怎么会去使用PHP上面的命令行位,我不能看到任何的http:// php.net/manual/en/bo ok.imagick.php,这将帮助我。 – user984580

+0

@user好问题。我不知道PHP的扩展,所以我不知道 - *也许*使用['ShadowImage'](http://www.php.net/manual/en/function.imagick-shadowimage.php),但我我不确定。 –

12

你想要的是Imagick ::的ShadowImage(浮$混浊,漂浮$西格玛,诠释$ X,诠释$ Y)

这里就是我把阴影的一些文本,然后叠加上一个例子背景图片...

$background_layer = new Imagick('poster_pic_01.jpg'); # background image 

$text_layer = new Imagick('transparent400.png'); # empty transparent png of the same size 
$text_layer->annotateImage($ImagickDraw, $pad_left, $pad_top, 0, "Your text here"); 

/* create drop shadow on it's own layer */ 
$shadow_layer = $text_layer->clone(); 
$shadow_layer->setImageBackgroundColor(new ImagickPixel('black')); 
$shadow_layer->shadowImage(75, 5, 5, 5); 

/* composite original text_layer onto shadow_layer */ 
$shadow_layer->compositeImage($text_layer, Imagick::COMPOSITE_OVER, 0, 0); 

/* composite shadow_layer (which now has text AND the shadow) onto image_layer */ 
$background_layer->compositeImage($shadow_layer, Imagick::COMPOSITE_OVER, 0, 0); 

希望这有助于

罗杰

+0

工程就像一个魅力! –