HOME   入り口   MENU


No33.ファイル画像に字を描こうっ ---- GDライブラリ[4]




え?No.28
似たようなタイトルがあった?

「ピンポーン♪」正解!

でも今回はファイルになっている画像に字を書く方法です(^_^)ちょっぴり違いまっす。

文字をいれるのはNo.28のように
ImageTTFText(画像ID, 文字サイズ, アングル, X座標, y座標, 文字色, フォントtのファイル,文字列);
ImageTTFText関数を使う方法もありますが

imagestring (画像ID, 文字サイズ, X座標, y座標, 文字列,文字色);
imagestringを使う方法もあります

<?php
$txt = mb_convert_encoding("離れPHP島", "SJIS", "UTF-8");
$jpeg = "img/php/20040218.jpg";
$image = imagecreatefromjpeg($jpeg);
$black = imagecolorallocate($image, 0,0,0);
imagestring ($image, 5, 10, 10, $txt, $black);
header("Content-type: image/jpeg");
imagejpeg($image);
imagedestroy($image);
?>


と書いたものはこちら   (ソース)


イメージタグで呼び出すと
<img src="./php2005020101.php">




離れPHP島と描かれて・・・あれ?書かれてない・・・。

でもこれが正解!
imagestringは日本語が文字化けしちゃいます。
(UTF-8のままでもSJISに変換しても文字化けします)
<?php
$txt = "Copyright Masago Since 2005";
$jpeg = "img/php/20040218.jpg";
$image = imagecreatefromjpeg($jpeg);
$black = imagecolorallocate($image, 0,0,0);
imagestring ($image, 5, 10, 10, $txt, $black);
header("Content-type: image/jpeg");
imagejpeg($image);
imagedestroy($image);
?>


と書いたものはこちら   (ソース)


イメージタグで呼び出すと
<img src="./php2005020102.php">




日本語を使わない場合はこんな感じになります。

じゃあ日本語を使いたい場合は?
<?php
$txt = mb_convert_encoding("離れPHP島", "SJIS", "UTF-8");
$jpeg = "img/php/20040218.jpg";
$image = imagecreatefromjpeg($jpeg);
$black = imagecolorallocate($image, 0,0,0);
ImageTTFText ($image, 40, 0, 10, 60, $black, "../common/font/ipaexg.ttf",$txt);
header("Content-type: image/jpeg");
imagejpeg($image);
imagedestroy($image);
?>


と書いたものはこちら   (ソース)


イメージタグで呼び出すと
<img src="./php2005020103.php">




文字色や文字サイズ、描画位置を変えることでいろいろなことができそうですね♪
あ、描いた画像に、サインなんかしちゃえるかも?(^o^)丿
サンプル: こう書くと   ==>    こうなる!

アップロードしたファイルに文字を描く



 











  HOME