PHPでは、GDライブラリは画像を処理するための強力なツールであり、複数の画像形式の作成、変更、合成をサポートしています。実際のアプリケーションでは、既存のGD2イメージファイルから画像を読み取り、その上に行、テキスト、形などを描画する必要がある場合があります。この記事では、ImageCreateFromGd2()を使用して.gd2形式の画像をロードし、グラフィカルな図面のImageColorAllocate()を組み合わせた方法を詳細に紹介します。
.GD2は、GDライブラリ専用の画像形式であり、迅速な負荷と処理に適した圧縮および非圧縮データをサポートします。これは、Webページ(JPEG、PNGなど)の一般的な画像形式ではありませんが、サーバー側の画像処理に役立ちます。
ImageCreateFromgd2(String $ filename)
.gd2ファイルから画像リソースを作成します。 GDイメージリソースハンドルを返します。
ImageColorAllocate(Resource $ Image、int $ red、int $ green、int $ blue)
画像に色を割り当て、その色の識別子を返します。
ImageLine() 、 ImageLipse() 、およびImageString()などの他の一般的に使用される関数を使用して、グラフィックを描画したり、テキストを追加したりできます。
.gd2ファイルをロードして画像にグラフ(赤い線と青い楕円)を描画する方法を示す完全なphpの例を示します。最終出力はPNG画像です。
<?php
// 設定 GD2 ファイルパス(このファイルが存在することを確認してください)
$gd2_file = 'https://m66.net/images/sample.gd2';
// リモートをダウンロードします GD2 ローカル一時ファイルへのファイル(GD2 直接読書はサポートされていません URL)
$temp_file = tempnam(sys_get_temp_dir(), 'gd2');
file_put_contents($temp_file, file_get_contents($gd2_file));
// から GD2 ファイル作成画像リソース
$image = imagecreatefromgd2($temp_file);
if (!$image) {
die('画像リソースを作成できません,お会計お願いします GD2 ファイルは有効ですか?。');
}
// 画像に色を割り当てます
$red = imagecolorallocate($image, 255, 0, 0);
$blue = imagecolorallocate($image, 0, 0, 255);
// 画像にまっすぐな赤い線を描きます
imageline($image, 10, 10, 200, 200, $red);
// 青い楕円を描きます
imageellipse($image, 150, 100, 100, 50, $blue);
// 設定输出为 PNG 画像
header('Content-Type: image/png');
imagepng($image);
// 無料のリソース
imagedestroy($image);
unlink($temp_file);
?>
ImageCreateFromgd2()はURLを直接読み取ることができないため、最初にファイルをダウンロードして、ローカルの一時ファイルとして保存する必要があります。
GD2画像は有効な形式である必要があります。または、負荷が失敗する必要があります。
画像を出力する前に、正しいコンテンツタイプのヘッダーを設定する必要があります。
ブラウザは直接rendering.gd2をサポートしていないため、PNG、JPEG、その他の形式を出力に使用することをお勧めします。
画像透かしシステム:サーバー側の既存の画像に識別または日付を動的に追加します。
画像編集プラットフォーム:ユーザーがアップロードした画像は、 .gd2形式で一時的に保存してマークすることができます。
データの視覚化:バックグラウンドロジックに従ってデータグラフィックを描画します。