押入れ起業

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

PHP

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

投稿日:2015-03-20 更新日:

全く同じスクリプトと同じIPA明朝フォントファイルを使い、サーバーだけ変えてImageTTFTextで画像にテキストを書き出した。 結果、サーバによって文字サイズやアンチエイリアスのかかり具合に違いが出た。 どうなっているんだ…、どうすりゃいいんだ…。 ローカルのXAMP、さくらのレンタルサーバImageTTFTextで同じフォントを使ってもサーバによって文字サイズやアンチエイリアスが違う…ライト、エックスサーバーImageTTFTextで同じフォントを使ってもサーバによって文字サイズやアンチエイリアスが違う…の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

PC

PC

-PHP

執筆者:


comment

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

関連記事

XAMPP

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

目次1 XAMPPのPHPでImageMagick/imagickが動いたやりかた2 さくらのレンタルサーバー・ライトでImageMagick/imagickを使う方法 XAMPPのPHPでImage …

PHP

PHPでxmlデータを取得する

simplexml_load_file($url); – XMLファイルをパースし、オブジェクトに代入する get_object_vars – 指定したオブジェクトのプロパティ …

piwik

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

先日ちょろっと書いたけど、Piwikというアクセス解析のPHPスクリプトが実にいい。結局これに限る。 良い点 無料、というかフリー(オープンソース)のPHPスクリプト 高性能 設置するサイトをたくさん …

PHP

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

URLクエリのパラメータを連想配列にする parse_str – 文字列を処理し、変数に代入する 連想配列からURLクエリを作る http_build_query – URL …

PHP

ヒアドキュメントに気をつけろ!なぜかエラーが出る場合…

ヒアドキュメントを使ってみたら何故か意味不明な、異常に長いエラーが出たぜ。 //エラーになるヒアドキュメント $example = <<< EOF あいうえお kakikukeko …

open all | close all
open all | close all