PHP GDで影付き文字を描画

文字をぼかして影を作り、その上に本体の文字を書くサンプルです。

サンプルコード



<?php

$img = ImageCreate(200, 60);

// 背景を白く塗りつぶす
$white = ImageColorAllocate($img, 0xff, 0xff, 0xff);
ImageFilledRectangle($img, 0,0, 300,150, $white);

// 影用に灰色を用意する
$grey = ImageColorAllocate($img, 0x99, 0x99, 0x99);
// 本体用に黒を用意する
$black = ImageColorAllocate($img, 0x00, 0x00, 0x00);

$text = 'test'; // 書き込む文字列
ImageTTFText($img, 48, 0, 20, 50, $grey, 'ipagp.ttf', $text);

/* 影の部分をぼかす */
ImageFilter($img, IMG_FILTER_GAUSSIAN_BLUR);
ImageFilter($img, IMG_FILTER_GAUSSIAN_BLUR);
ImageFilter($img, IMG_FILTER_GAUSSIAN_BLUR);

/* 本体を書き込む */
ImageTTFText($img, 48, 0, 20-5, 50-3, $black, 'ipagp.ttf', $text);

header('Content-Type: image/png');
ImagePNG($img);

?>


動作例



<img src="script/text-shadow-1.php">



IPv6基礎検定

YouTubeチャンネルやってます!