@blog.justoneplanet.info

日々勉強

PHPとGDで透過png画像テキストを出力する

透明度のあるイメージをつくる。

<?php
$width  = 300;// px
$height = 40;// px
$text   = 'This is a sample.';// string
$font   = '/usr/share/fonts/bitstream-vera/ACaslonPro-Bold.otf';// path

$img             = imagecreatetruecolor($width, $height);
$color           = imagecolorallocatealpha($img, 210, 0, 0, 255);
$backgroundColor = imagecolorallocatealpha($img, 255, 255, 255, 127);
imagealphablending($img, true); // ブレンドモードを設定する
imagesavealpha($img, true); // 完全なアルファチャネルを保存する

imagefill($img, 0, 0, $backgroundColor); // 指定座標から指定色で塗る 
imagettftext($img, 16, 0, 16, 40, $color, $font, $text);

header('Content-type: image/jpeg');
imagepng($img);
imagedestroy($img);
?>

すけすけ画像テキストだ!=3

1件のコメント»

はじめまして。

最近PHPを勉強し始めています。
phpのインストールから始めて3日目です。ネットでいろいろサンプルを見ていて、
GDを使って文字を画像変換を始めました。なかなか上手くいかず、素行錯誤してようやく出来たのですが、今度は作った文字の背景が気に入らず、透明化に挑戦しました。
いろいろサイトのソースを見ましたが、このサイトの情報は、非常にわかりやすく参考になりました。

文字に影を付ける事も行っていたのですが、ぼかす処理
ImageFilter($img, IMG_FILTER_GAUSSIAN_BLUR);
を行うと、背景にゴミが残るので、ぼかす処理を止めることとしました。

このサイトのカテゴリを拝見すると、難しい言葉がたくさん並んでおり、ちょくちょく参考にさせていただきます。

ps
PHP(プログラム)は難しいですね。

RSS feed for comments on this post.TrackBack URL

Leave a comment