[PHP-users 6505] Re: GDで小さな字をきれいに表示したいのです

SATO Mitsuo php-users@php.gr.jp
Tue, 26 Mar 2002 09:15:18 +0900


佐藤です。

katsujiro@ybb.ne.jp (NAKANO Katsujiro) wrote:

> 東風フォントを使って、14ptとか12ptとかで表示すると、
> 字が崩れてうまく表示されませんでした。

崩れたのではなく、アンチエイリアス処理の為にそう見えるのでは?


> TrueTypeをImageTTFTextで使って、
> 小さな文字(9〜14pt)がきれいに表示されるようにできるのでしょうか。
> できるフォントとかあるのでしょうか。

http://jp2.php.net/manual/ja/function.imagettftext.php
を見ると、カラーインデックスを負の値にすれば可能です。

----------
$dummy = ImageColorAllocate($im,   0,   0,   0);  // 最初はインデックス0
$black = ImageColorAllocate($im,   0,   0,   0);
$red   = ImageColorAllocate($im, 255,   0,   0);
…
ImageTTFText($im,16,0,5,30,$black,$font,$str);  // アンチエイリアス有り
ImageTTFText($im,16,0,5,60, ($black * -1) ,$font,$str); // アンチエイリアス無し
----------

ImageColorAllocate の最初の値がマイナスにできないことに気づくまで
結構悩みました(^^;

佐藤 充男
satou@daiwakantei.co.jp