PHP は FreeType 2 フォントを使用したテキストボックスを提供します

PHPz
リリース: 2024-03-21 14:32:01
転載
512 人が閲覧しました

php エディター Baicao は、PHP での FreeType 2 フォント テキスト ボックスの使用に関する記事を提供します。 FreeType 2 はフォントをレンダリングするためのオープンソース ソフトウェア ライブラリで、PHP と組み合わせることで、よりパーソナライズされた美しいテキスト表示効果を実現できます。この記事では、PHP で FreeType 2 フォントを使用してテキスト ボックスを作成し、Web サイトやアプリケーションにデザイン要素と創造性を追加する方法を学びます。

FreeType 2 フォントを使用してテキスト ボックスを描画する

FreeType 2 は、php でテキスト ボックスを描画するために使用できる オープン ソースフォント レンダリング ライブラリです。次の手順では、FreeType 2 を使用して PHP でテキスト ボックスを描画する方法を説明します。

1. FreeType 2 ライブラリをインストールする

次のコマンドを使用して FreeType 2 ライブラリをインストールします:

pecl インストール フリータイプ
ログイン後にコピー
ログイン後にコピー
ログイン後にコピー
ログイン後にコピー

2. イメージの作成

imagecreate 関数を使用して画像を作成します:

$image = imagecreate(400, 200);
ログイン後にコピー
ログイン後にコピー
ログイン後にコピー
ログイン後にコピー

3. 色の割り当て

imagecolorallocate 関数を使用してテキストと背景に色を割り当てます:

$black = imagecolorallocate($image, 0, 0, 0); $white = imagecolorallocate($image, 255, 255, 255);
ログイン後にコピー
ログイン後にコピー
ログイン後にコピー
ログイン後にコピー

4. FreeType の初期化

FT_Init_FreeType 関数を使用して FreeType ライブラリを初期化します:

FT_Init_FreeType($ft);
ログイン後にコピー
ログイン後にコピー
ログイン後にコピー
ログイン後にコピー

5. フォントの読み込み

FT_New_Face

関数を使用してフォントを読み込みます: FT_New_Face($ft, "font.ttf", 0, $face);

ログイン後にコピー
ログイン後にコピー
ログイン後にコピー
ログイン後にコピー
ログイン後にコピー
ログイン後にコピー
6. フォント サイズの設定

FT_Set_Pixel_Sizes

関数を使用してフォント サイズを設定します: FT_Set_Pixel_Sizes($face, 12, 0);

ログイン後にコピー
ログイン後にコピー
ログイン後にコピー
ログイン後にコピー
ログイン後にコピー
ログイン後にコピー
7. テキストのレンダリング

FT_Render_Glyph

関数を使用してテキストをレンダリングします: FT_Load_Char($face, "A", FT_LOAD_RENDER);

ログイン後にコピー
ログイン後にコピー
ログイン後にコピー
ログイン後にコピー
ログイン後にコピー
ログイン後にコピー
8. テキスト サイズの取得

FT_Glyph_Metrics

関数を使用してテキスト サイズを取得します: $グリフ = $face->グリフ; $width = $glyph->bitmap->width; $height = $glyph->bitmap->rows;

ログイン後にコピー
ログイン後にコピー
ログイン後にコピー
ログイン後にコピー
ログイン後にコピー
ログイン後にコピー
9.テキストを入力します

imagefilledrectangle

関数を使用してテキストを塗りつぶします: imagefilledrectangle($image, 0, 0, $width, $height, $white);

ログイン後にコピー
ログイン後にコピー
ログイン後にコピー
ログイン後にコピー
ログイン後にコピー
ログイン後にコピー
10. テキストを描画する

imagecopy

関数を使用してテキストを描画します:

imagecopy($image, $face->glyph->bitmap, 0, 0, 0, 0, $width, $height);

11. リソースのリリース
ログイン後にコピー

FT_Done_Face 関数と

FT_Done_FreeType

関数を使用してリソースを解放します: FT_Done_Face($face); FT_Done_FreeType($ft);

完全なコード例:
ログイン後にコピー
ログイン後にコピー
ログイン後にコピー
ログイン後にコピー
ログイン後にコピー
ログイン後にコピー
<?php

//FreeType 2 ライブラリをロードします
pecl_install_freetype();

// 画像を作成する
$image = imagecreate(400, 200);

// 色の割り当て
$black = imagecolorallocate($image, 0, 0, 0);
$white = imagecolorallocate($image, 255, 255, 255);

//FreeTypeを初期化する
FT_Init_FreeType($ft);

//フォントを読み込みます
FT_New_Face($ft, "font.ttf", 0, $face);

//フォントサイズを設定する
FT_Set_Pixel_Sizes($face, 12, 0);

// テキストをレンダリングする
FT_Load_Char($face, "A", FT_LOAD_RENDER);

// 文字サイズを取得する
$glyph = $face->glyph;
$width = $glyph->bitmap->width;
$height = $glyph->bitmap->rows;

//テキストを埋める
imagefilledrectangle($image, 0, 0, $width, $height, $white);

// テキストを描画します
imagecopy($image, $face->glyph->bitmap, 0, 0, 0, 0, $width, $height);

// リソースを解放する
FT_Done_Face($face);
FT_Done_FreeType($ft);

//出力画像
header("Content-Type: image/png");
imagepng($image);
imagedestroy($image);

?>
ログイン後にコピー

この チュートリアル では、FreeType 2 フォントを使用して PHP でテキスト ボックスを描画するためのステップバイステップ ガイドを提供します。これらの手順に従うことで、開発者はカスタム フォントと色を使用してテキスト ボックスを作成できます。

以上がPHP は FreeType 2 フォントを使用したテキストボックスを提供しますの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

ソース:lsjlt.com
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
最新の問題
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート
私たちについて 免責事項 Sitemap
PHP中国語ウェブサイト:福祉オンライン PHP トレーニング,PHP 学習者の迅速な成長を支援します!