人力検索はてな
モバイル版を表示しています。PC版はこちら
i-mobile

PHPでの質問です。

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

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


●質問者: quocard
●カテゴリ:インターネット ウェブ制作
✍キーワード:PHP 画像
○ 状態 :終了
└ 回答数 : 3/3件

▽最新の回答へ

1 ● しろっくす
●27ポイント

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

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

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

◎質問者からの返答

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

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


2 ● まつぼっくり
●27ポイント

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

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++;

}

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

◎質問者からの返答

ありがとうございます。

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

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


3 ● kn1967
●26ポイント

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

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

PHP: imagestring - Manual


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

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

PHP: imagettfbbox - Manual

◎質問者からの返答

ありがとうございます。

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

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

ありがとうございます。

関連質問


●質問をもっと探す●



0.人力検索はてなトップ
8.このページを友達に紹介
9.このページの先頭へ
対応機種一覧
お問い合わせ
ヘルプ/お知らせ
ログイン
無料ユーザー登録
はてなトップ