PHP
 Computer >> コンピューター >  >> プログラミング >> PHP

PHPのimagecharup()関数とは?文字を縦方向に描画する方法をわかりやすく解説

PHPのimagecharup()関数は、指定した画像上に文字を縦向き(上向き)に描画するためのGDライブラリ関数です。通常の横書きではなく、文字が90度回転した状態で描画されるため、縦書き風のテキスト表現が必要な場面で活用できます。

構文

imagecharup( img, font, x, y, c, color )

パラメータ

  • img: 描画対象となる画像リソース。imagecreatetruecolor() や imagecreate() などで事前に作成しておきます。

  • font: フォントサイズを設定します。latin2エンコーディングの組み込みフォントを使用する場合、1〜5 のいずれかの値を指定します。数値が大きいほど大きな文字で描画されます。

  • x: 文字を描画する位置のx座標(左上を基準)。

  • y: 文字を描画する位置のy座標(左上を基準)。

  • c: 描画したい文字列。

  • color: 使用する色の識別子。imagecolorallocate() で作成したカラーリソースを指定します。

戻り値

imagecharup() 関数は、描画に成功した場合は TRUE を、失敗した場合は FALSE を返します。

使用例1:基本的な描画方法

以下は、imagecharup() 関数を使って文字を縦向きに描画する基本的なサンプルコードです。

<?php
    $img = imagecreate(300, 300);
    $str = 'Demo';
    $bg = imagecolorallocate($img, 190, 255, 255);
    $color = imagecolorallocate($img, 120, 60, 100);
    imagecharup($img, 5, 30, 50, $str, $color);
    header('Content-type: image/png');
    imagepng($img);
?>

出力結果

このコードを実行すると、300×300ピクセルの画像に対して、フォントサイズ5で「Demo」という文字が縦向きに描画され、PNG形式で出力されます。

PHPのimagecharup()関数とは?文字を縦方向に描画する方法をわかりやすく解説

使用例2:異なるサイズでの描画

次に、別のパラメータを指定した例を見てみましょう。

<?php
    $img = imagecreate(270, 270);
    $str = 'Example';
    $bg = imagecolorallocate($img, 160, 185, 175);
    $color = imagecolorallocate($img, 100, 120, 100);
    imagecharup($img, 10, 80, 100, $str, $color);
    header('Content-type: image/png');
    imagepng($img);
?>

出力結果

この例では、「Example」という文字が異なる座標と色で縦向きに描画されます。なお、fontパラメータは組み込みフォントの場合1〜5の範囲で有効ですが、範囲外の値を指定した場合も動作することがあります。

PHPのimagecharup()関数とは?文字を縦方向に描画する方法をわかりやすく解説

まとめ

imagecharup() 関数は、GDライブラリを使った画像処理において、文字を縦方向に描画できる便利な関数です。画像への透かし入れや、縦書きテキストの生成など、さまざまな用途に応用できます。類似の関数として、横向きに文字を描画する imagechar() 関数もありますので、用途に応じて使い分けるとよいでしょう。

  1. PHPのimagefilledrectangle()関数の使い方 – 塗りつぶし矩形を描画する方法

    PHPのimagefilledrectangle()関数は、指定した座標をもとに、色で塗りつぶされた矩形(長方形)を画像上に描画するためのGDライブラリ関数です。図形の作成やグラフィック処理などでよく利用されます。構文imagefilledrectangle( $img, $x1, $y1, $x2, $y2, $color )パラメータimgimagecreatetruecolor() などで作成した画像リソースを指定します。x1矩形の1つ目の頂点(始点)のX座標を指定します。y1矩形の1つ目の頂点(始点)のY座標を指定します。x2矩形の2つ目の頂点(対角の終点)のX座標を指定します。y2矩

  2. PHPのimagefilledellipse()関数とは?塗りつぶし楕円の描画方法を解説

    PHPのimagefilledellipse()関数は、指定した座標を中心として塗りつぶしのある楕円を描画するために使用されるGDライブラリの関数です。図形描画や画像生成を行う際に非常に便利な関数の一つです。 構文 imagefilledellipse( $img, $cx, $cy, $width, $height, $color ) パラメータ img:imagecreatetruecolor()関数などで作成した画像リソースを指定します。この画像に対して楕円が描画されます。 cx:楕円の中心のX座標(横方向の位置)を指定します。 cy:楕円の中心のY座標(縦方向の位置)を指定します。