Imagettftext()とImageLine()を組み合わせて使用すると、次のシナリオに適用できます。
注釈付きのラインチャートを生成します
動的なフローチャート
検証コードと動的フォントのスラッシュ干渉を組み合わせます
グラフィックボタンまたは構造図のテキストロゴ
適切な座標計算により、テキストをグラフィックスと正確に整列させ、視覚効果を強化できます。
次の例は、行セグメントとテキストの説明がラインセグメントの開始点とエンドポイントに追加された画像を作成する方法を示しています。
<?php
// キャンバスを作成します
$width = 400;
$height = 300;
$image = imagecreatetruecolor($width, $height);
// 色の分布
$white = imagecolorallocate($image, 255, 255, 255);
$black = imagecolorallocate($image, 0, 0, 0);
$blue = imagecolorallocate($image, 0, 0, 255);
// 背景を埋めます
imagefill($image, 0, 0, $white);
// フォントを定義します
$font = __DIR__ . '/arial.ttf'; // 確認するarial.ttfフォントファイルが存在します
// 線を描きます
$x1 = 50; $y1 = 250;
$x2 = 350; $y2 = 50;
imageline($image, $x1, $y1, $x2, $y2, $blue);
// テキストを追加します(行の出発点)
imagettftext($image, 12, 0, $x1 - 30, $y1 + 20, $black, $font, '出発点');
// テキストを追加します(ラインエンドポイント)
imagettftext($image, 12, 0, $x2 + 10, $y2, $black, $font, '終わり');
// 出力画像
header('Content-Type: image/png');
imagepng($image);
// リソースを破壊します
imagedestroy($image);
?>
このコードは、白い背景を持つ画像を作成し、画像に青い線セグメントを描画し、それぞれ開始点とエンドポイントにコメントテキストを追加します。 imagettftext()を有効にしてテキストを配置し、任意に回転させ、 ImageLine()を使用してグラフィック要素を描画します。 2つの組み合わせは、多様なインフォグラフィックを形成できます。
グラフィカルサイトマップ、プロセスのヒントなど、ハイパーリンクタイトルなど、グラフにタグテキストを描画することで、より複雑な用途を実現できます。
$url = 'https://gitbox.net/api/step?id=42';
$text = '詳細を確認してください';
// 情報を抽出して描画します
imagettftext($image, 10, 0, 150, 100, $black, $font, $text);
画像を直接クリックしてリダイレクトすることはできませんが、生成された画像は、ユーザーエクスペリエンスを改善するためにHTMLと組み合わせてWebアンカーの視覚的なプロンプトとして使用できます。