押入れ起業

ガレージベンチャー、ならぬ。もっぱらPHPプログラミングとアフィリエイトの研究をしています。

ImageTTFTextで同じフォントを使ってもサーバによって文字サイズやアンチエイリアスが違う…

      2015/04/12

全く同じスクリプトと同じIPA明朝フォントファイルを使い、サーバーだけ変えてImageTTFTextで画像にテキストを書き出した。

結果、サーバによって文字サイズやアンチエイリアスのかかり具合に違いが出た。

どうなっているんだ…、どうすりゃいいんだ…。

ローカルのXAMP、さくらのレンタルサーバライト、エックスサーバーの3つで書きだしたGIF画像をアニメGIFにした。JPG画像やPING画像でも同じ結果になる。

GDとやらのバージョンが違うのかと思い var_dump(gd_info()); で確認したら、ローカルのXAMPとエックスサーバーは同じ 2.0.34 compatible で、それらよりも汚いさくらのレンタルサーバーはそれらより新しい 2.1.0 compatible だった。

ImageTTFText

さくらのレンタルサーバーを使おうと思って(仮)契約を先ほど済ませただけに、この結果にはちょっとショックだ。

<?php
$img = imagecreate(600,600);
$background_color = imagecolorallocate($img, 255,255,255);
$text_color = imagecolorallocate($img, 0,0,0);

for($fontsize=1;$fontsize<=20;$fontsize=$fontsize+0.5){
 ImageTTFText($img, $fontsize, 0, 10, $y*1.5+5 ,$text_color, ".pam.ttf", $fontsize. ": 012345ABCDEabcdeあいうえお亜以兎絵雄");
 $y = $y + $fontsize;
}

Imagegif ($img, "img.gif");
ImageDestroy ($img);
?>
<html>
<body>
<img src="img.gif">
</body>
</html>

整数倍の大きさで作ってから縮小したら綺麗になるのではないかと思って試した結果。さくらのレンタルサーバーで、1倍、2倍を1/2縮小、3倍を1/3縮小、4倍を1/4縮小したもの。

いま考えている案では小さい文字を使いたい。倍率を上げるほど負荷になる気がするので、2倍サイズで作って1/2に縮小するのが良さそうか。相変わらずローカル環境やエックスサーバーでは文字サイズにバラつきが出る。これは本番サーバーで現物合わせの調整をするしかないようだ。

あと、gifで作ると白が黄ばんでるのね。

ImageTTFText2

 - PHP

PC

PC

Message

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です

  関連記事

PHP
PHPでURLクエリのパラメータを連想配列にする/連想配列からURLクエリを作る

URLクエリのパラメータを連想配列にする parse_str – 文 …

daterss
アクセスした日時を返すだけのRSSウェブサービスを作った

電脳ウェブサービスをやると言って、んでいよいよhtmlへはめ込む段階で今度はBo …

PHP
PHPでリファラ(参照元)をチェックするのはこれでいいの?

あるサイトでのページでフォーム入力し、そのサイト内の別ページへポストして結果を表 …

piwik
PHP/MySQLで動くオープンソースのアクセスログ解析「Piwik」の素晴らしい点

先日ちょろっと書いたけど、Piwikというアクセス解析のPHPスクリプトが実にい …

さくらのレンタルサーバー
phpinfo()のdate項目、phpスクリプト中のdate()関数にwarning警告が出た(さくらのレンタルサーバー)

さくらのレンタルサーバで、phpinfo()表示やdate()関数を使っていたら …

piwik
Piwikの手動アップデート

少し前からPiwikのアップデートが来ていたのだけれど、いつもどおり自動アップデ …

PHP
PHPでxmlデータを取得する

simplexml_load_file($url); – XMLファ …

XAMPP
XAMPPのPHPとさくらのレンタルサーバー・ライトでImageMagick/imagickがやっと動いたのでメモ

XAMPPのPHPでImageMagick/imagickが動いたやりかた いろ …

PHP
PHPで画像に文字列を描画する関数 imagefttext、描画する文字列の描画サイズを取得する関数 imagettfbbox

言いたいことはタイトルの通り。 imagefttext という関数を使うと画像に …

PHP
PDOでSQLiteの研究(1)

最近は電脳卸の研究が止まっているが、いろいろ忙しく。でもやりたい事はいろいろある …