質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.50%
PHP

PHPは、Webサイト構築に特化して開発されたプログラミング言語です。大きな特徴のひとつは、HTMLに直接プログラムを埋め込むことができるという点です。PHPを用いることで、HTMLを動的コンテンツとして出力できます。HTMLがそのままブラウザに表示されるのに対し、PHPプログラムはサーバ側で実行された結果がブラウザに表示されるため、PHPスクリプトは「サーバサイドスクリプト」と呼ばれています。

GD(Graphics Library)

GD(Graphics Library)は、線や多角形、円、テキストなどを書くことができるライブラリです。グラフなどを作成する際に利用されます。

Q&A

解決済

1回答

2773閲覧

php の ImageTtfBBox の結果がずれる

takeshi

総合スコア264

PHP

PHPは、Webサイト構築に特化して開発されたプログラミング言語です。大きな特徴のひとつは、HTMLに直接プログラムを埋め込むことができるという点です。PHPを用いることで、HTMLを動的コンテンツとして出力できます。HTMLがそのままブラウザに表示されるのに対し、PHPプログラムはサーバ側で実行された結果がブラウザに表示されるため、PHPスクリプトは「サーバサイドスクリプト」と呼ばれています。

GD(Graphics Library)

GD(Graphics Library)は、線や多角形、円、テキストなどを書くことができるライブラリです。グラフなどを作成する際に利用されます。

0グッド

0クリップ

投稿2015/01/17 09:06

php で画像イメージを作っております。

rhel5 では、正しく表示されていたのが rhel7 で正しく表示されなくなってしまいました。

具体的には、次のようなコードです。```lang-php
$x = 50;
$y = 150;
$width = 400;
$height = 200;

$font_size = 80;
$angle = 0;
$font_name = "/usr/share/fonts/japanese/TrueType/ipagp.ttf";
$text = "abcde";
$bbox = ImageTtfBBox( $font_size, $angle, $font_name, $text );

$im = imagecreatetruecolor( $width, $height );
$white = imagecolorallocate( $im, 255,255,255 );
$black = imagecolorallocate( $im, 0, 0, 0 );
$blue = imagecolorallocate( $im, 0, 0, 255 );
imagefill( $im, 0, 0, $blue );
ImageFilledRectangle( $im, $x + $bbox[0], $y + $bbox[7], $x + $bbox[2], $y + $bbox[3], $white );
ImageTtfText( $im, $font_size, $angle, $x, $y, $black, $font_name, $text );

#Imagepng( $im, "/var/www/data/abcde.png" );
#print "<img src='/data/abcde.png' />";

header("Content-Type: image/png");
ImagePng( $im );

ImageTtfText によって描画される位置はいずれのバージョンでも同じなのですが、ImageTtfBBox で返される boundary box の位置が rhel7 では誤って返されています。 具体的には、原点より右側から描画するのにbbox[0] が -1 になっています。どなたかご存じの方がいらっしゃいましたら、教えていただけないでしょうか?

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

guest

回答1

0

自己解決

とりあえず、該当ルーチンを使わない事で回避しました。

投稿2017/01/05 05:03

takeshi

総合スコア264

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.50%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問