Отбрасывать тень на текст

Я хочу добавить тень тени к тексту на изображении с помощью PHP.

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

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

Ответ 1

Что вам нужно: 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 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

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