[PHP-users 1089] Re: GDでのロゴ作成について

Ryotaro Shimazu php-users@php.gr.jp
Tue, 7 Aug 2001 12:05:37 +0900


以前、GDでimagecreatefromjpegで背景画像を作成し、それに文字を載せると
文字の色がおかしくなるということで相談させてもらったものです。

自己レスですが、
この問題はPHPのmanual(http://www.php.net 英語)に載っていました。

imagecolorallocateを使うのではなく、

  $color = ImageColorClosest($background, $red, $green, $blue);
  ImageColorDeAllocate($background, $color);
  $color = ImageColorAllocate ($background, $red, $green, $blue);

のようにすると良いようです。

この問題は解決しましたのでご報告申し上げます。

ありがとうございました。またGDについて質問があるのですが、別スレッドに
投稿させてもらいます。

島津 良太郎
rshimazu@kaiteki-net.com


> 今、GDを用いて、ユーザーからの入力にしたがってロゴを生成するというこ
と
> をやりたいと思っています。
>
> そこで、imagecreatefromjpegを用いてやろうとするのですが、フォントの
色
> の指定が思うように行きません。
>
> $image_name = "./banner.jpg";
> $background = imagecreatefromjpeg($image_name);
> $white = imagecolorallocate($background, 255, 255, 255);
>
> として、
>
>  i18n_http_output("pass");
>
>  imagettftext($background, $font_size, 0,$px, $upper, $white,$font,
> $text);
>  header("Content-type: image/jpeg");
>  imagejpeg($background);
>  imagedestroy($background);
>
> などと吐き出してみるのですが、文字は表示されますが、白色ではなく、そ
の
> 背景画像の色に近い水色で表示されたりします。
>