Тень на тексте - PullRequest
       30

Тень на тексте

10 голосов
/ 28 ноября 2011

Я хочу добавить тень на текст на изображении, используя PHP.

Я знаю, как добавить текст к изображениям, и как некоторые библиотеки позволяют добавлять затенение блоков, но я не вижу ни одной, которая позволила бы добавить блеклую тень.

Возможно ли это?

Ответы [ 2 ]

12 голосов
/ 20 сентября 2012

То, что вы хотите, это Imagick :: shadowImage (float $ opacity, float $ sigma, int $ x, int $ 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 ); 

Надеюсь, это поможет,

Роджер

2 голосов
/ 28 ноября 2011

GD не может сделать это из коробки. Если вы можете, используйте ImageMagick . Примеры того, как сделать фигурные тени здесь .

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...