PHPでの質問です。


imagestring($image, 1, 1, 1, "x:$x y:$y $z:z", $text_color);

上記のように画像の中にx:$x y:$y z:$zという文字を埋め込んでいるのですが
この埋め込んでいる文字をそれぞれ改行させたいのですがどのようにすれば改行できますでしょうか。

回答の条件
  • 1人2回まで
  • 登録:2007/07/17 14:07:52
  • 終了:2007/07/18 22:39:52

回答(3件)

id:shiroxcom No.1

しろっくす回答回数140ベストアンサー獲得回数52007/07/17 15:53:23

ポイント27pt

ブラウザに表示するのであれば。。。

imagestring($image, 1, 1, 1, "x:$x<br />y:$y<br />$z:z<br />",$text_color);

これでよろしいのではないでしょうか?

id:quocard

それだと普通に<br />と表示されますが

なにか別の書き方でBRを入れるとよいということでしょうか。

2007/07/17 16:21:56
id:matsubobo No.2

まつぼっくり回答回数19ベストアンサー獲得回数32007/07/17 16:46:27

ポイント27pt

エスケープシーケンスはどうでしょうか?

ex:

imagestring($image, 1, 1, 1, "x:$x\ny:$y\n$z:z\n",$text_color);



上記ができないのであれば、プログラム側で文字を出力する場所を変更してあげるのはどうでしょうか。

(動作チェックしていないので、ロジックだけ読み取ってほしいです)

=========================

$line = 10;

$line_height = 15;

$sentense = 'aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa';

$count = 0;

while($word = substr($sentense, $line * $count ,$line)){

imagestring($image, 1, 1, $count * $line_height, $word,$text_color);

$count++;

}

=========================

id:quocard

ありがとうございます。

\nでは対処できませんでしたので

下のロジックでやってみました。

2007/07/18 22:39:11
id:kn1967 No.3

kn1967回答回数2915ベストアンサー獲得回数3012007/07/17 17:17:19

ポイント26pt

imagestringには改行やTABなどの制御コードを実行する能力は備わっていませんので

マニュアルのサンプルソースにあるように必要な行数分だけimagestringを実行するという対応になります。

PHP: imagestring - Manual


文字列の高さ(改行ピッチ)に関しては適宜調整する必要がありますが

imagettfbboxなどで描画領域の幅と高さを求めて適切な値を計算で出すという事も可能かもしれません。

PHP: imagettfbbox - Manual

id:quocard

ありがとうございます。

さすがに制御コードはないようですね。

複数記述する方法で対処いたしました。

ありがとうございます。

2007/07/18 22:39:44

コメントはまだありません

この質問への反応(ブックマークコメント)

「あの人に答えてほしい」「この質問はあの人が答えられそう」というときに、回答リクエストを送ってみてましょう。

これ以上回答リクエストを送信することはできません。制限について

絞り込み :
はてなココの「ともだち」を表示します。
回答リクエストを送信したユーザーはいません