私はImageMagickを使用して、私たちのシステムの製品の製品バッジを生成しています。商品のバッジはSO flairのようなものです。わずかな数の合成画像とテキストがあります。 Windowsを実行する開発マシンでうまく動作するので、スクリプトに何も問題はありません。しかし、私の生産システム(CentOS 5.1)では、テキスト以外のすべてをレンダリングします。Imagemagickはテキストを表示しませんが、エラーは発生しません
私は、これは、フォントの問題だと思ったが、それは、私はPHPファイルの場所にフォントファイルをコピーしたり、私はそれを完全なパスを与えたとき、それは動作しなかった場合でも動作しません。
そして、私はdescribed hereとしてLinux用のWindowsのフォントをインストールしたとき、それは動作しませんでした。
私はconvert -list font
を入力したし、それがImagickが知っているフォントの一覧を示して、私はここに記載されている絶対パスを与えてみました、それがうまくいきませんでした
Font: Times-BoldItalic
family: Times
style: Italic
stretch: Normal
weight: 700
glyphs: /usr/share/fonts/default/Type1/n021024l.pfb
Font: Times-Italic
family: Times
style: Italic
stretch: Normal
weight: 400
glyphs: /usr/share/fonts/default/Type1/n021023l.pfb
Font: Times-Roman
family: Times
style: Normal
stretch: Normal
weight: 400
glyphs: /usr/share/fonts/default/Type1/n021003l.pfb
(paritalリストを以下に示します)。私はまた名前を使用してみましたが、まだ何もしませんでした。
基本的に画像が現れるが、それのテキスト部分は、(下の画像を参照)すべてとエラーがスローされていない時には表示されません。
コードとWindowsとCentOSの両方がImagick(6.7.1-4及び6.7.1-3)の密接なバージョンを実行していると間違って何もありません。唯一の問題はフォントかもしれません、私は通常のTTFフォントを上げてテストしていますが、それを動作させるには特殊なフォントが必要ですか?ワーキング
は
EDITを壊した - QRコードと評価の違いを無視します。これは、2つの異なるサーバー上に作業バッジと非動作バッジがあるためです。
UPDATE 1 - 私は簡単なテストスクリプトを実行しましたが、それでも動作しません。これはテストとして実行されたものです:http://us2.php.net/manual/en/function.imagick-annotateimage.phpフォントは表示されず、エラーもスローされません。
CentOSシステムからフォントをコピーしてWindowsボックスで試してみましたが、うまくいきました。フォントは単にCentOSで動作しないようです。私もフォントを設定せずに、それを試してみた
は、私はImagickは、デフォルトのフォントや何かをピックアップし、再びWindows上で動作しますが、ないのCentOS上で前提としています。私は別の* nixバージョンでこれを試して、何が起こるか見てみましょう。調査結果に更新されます。
更新3:問題をFreeTypeライブラリの問題に絞りました。フォーラムでは、テキストが正しく表示されるようにFreeTypeをインストールする必要があると述べています。 config.logを見ると、FreeTypeをインストールする際に問題があることがわかります。この上に頭をアップすると、私はFreetypeを再インストールし、再度インストールを実行するつもりです。
は3一番左の星がで記入されているすべてであること、それが重要です**ワーキング**イメージと**ブローカ**イメージでそれらはすべて空ですか? –
とバーコードも違う)しかし、トピックについて:imagemagicでフォントが動作しているかどうかを確認するための簡単な(非常に基本的な)スクリプトを試してみましたか(たくさんのコードをデバッグするのは難しいですか?あなたがした場合 - お願いします、ここに投稿してください、私はあなたがより多くの助けを得ると思います。 – XzKto
イメージの違いについてお詫び申し上げます。作業用のものはローカルのデータを持つローカル開発者からのものであり、非稼働のものはステージングサーバーからのものであり、したがってデータの違いです。簡単なテストスクリプトをセットアップしてここに投稿します。しかし、私のコマンドラインテストは失敗しました。それらも同様に投稿します。 – JohnP