ホームページ  >  記事  >  バックエンド開発  >  PHP の GD ライブラリと関連関数

PHP の GD ライブラリと関連関数

WBOY
WBOYオリジナル
2023-06-22 20:52:382736ブラウズ

GD ライブラリと PHP の関連関数

GD ライブラリは、PHP 言語の非常に強力なグラフィック ライブラリであり、画像の処理、画像やサムネイルの動的生成などに使用できます。この記事では、GD ライブラリの関連概念と共通機能を紹介します。

  1. GD ライブラリのインストール

GD ライブラリを使用する前に、ライブラリがシステムにインストールされていることを確認する必要があります。コマンド ラインに次のコマンドを入力すると、GD ライブラリがインストールされているかどうかを確認できます:

php -m | grep -i gd

「gd」が出力される場合は、GD ライブラリがインストールされていることを意味し、出力が空の場合は、 GD ライブラリを置き換えるには、次のコマンドを使用する必要があります。システムにインストールされています:

sudo apt-get install php7.2-gd
  1. GD ライブラリの基本概念

GD ライブラリはオープン ソースです画像の処理や画像、サムネイルなどの生成に使用できるクロスプラットフォームのグラフィック ライブラリ。 GD ライブラリは画像を処理するときに、画像をピクセルのコレクションに変換し、各ピクセルを処理します。通常、画素には赤、緑、青の 3 つの色値が含まれており、これら 3 つの色値を処理することでさまざまな色の画像を得ることができます。

  1. GD ライブラリのよく使われる関数

GD ライブラリには非常に便利な関数が多数用意されており、よく使われる関数をいくつか紹介します。

3.1. imagecreatetruecolor()

imagecreatetruecolor 関数は、次のように宣言される True Color イメージを作成するために使用されます:

resource imagecreatetruecolor ( int $width , int $height )

$width と $height は、画像の幅と高さ、戻り値は画像リソース ハンドルです。

次は、imagecreatetruecolor 関数を使用して 300x200 の赤い四角形を作成する例です:

<?php
// 创建一个300x200的真彩色图像
$img = imagecreatetruecolor(300, 200);

//定义红色
$red = imagecolorallocate($img, 255, 0, 0);

//在图像上画一个填充了红色的矩形
imagefilledrectangle($img, 0, 0, 300, 200, $red);

//将图像输出到浏览器
header('Content-type: image/png');
imagepng($img);

//释放图像资源
imagedestroy($img);
?>

3.2. imagecreatefromjpeg()

imagecreatefromjpeg 関数は、300x200 の赤い四角形を作成するために使用されます。 JPG画像ファイルからの赤い四角 読み込んだ画像リソースハンドルは以下のように宣言されています。

resource imagecreatefromjpeg ( string $filename )

このうち$filenameはJPG画像ファイル名、戻り値は画像リソースハンドルです。

次は、imagecreatefromjpeg 関数を使用して JPG 画像ファイルを読み取り、拡大縮小する例です:

<?php
//从文件中创建一个图像资源
$src_image = imagecreatefromjpeg('source.jpg');

//获取原始图像的宽和高
list($src_width, $src_height) = getimagesize('source.jpg');

//创建一个新的缩放后的图像资源
$dst_image = imagecreatetruecolor(100, 100);

//将原始图像按照比例缩放到新的图像资源中
imagecopyresampled($dst_image, $src_image, 0, 0, 0, 0, 100, 100, $src_width, $src_height);

//将图像输出到浏览器
header('Content-type: image/png');
imagepng($dst_image);

//释放图像资源
imagedestroy($src_image);
imagedestroy($dst_image);
?>

3.3. imagecopymerge()

imagecopymerge 関数は次の目的で使用されます。画像を別の画像に重ねて、透明度を設定します。その宣言は次のとおりです。

bool imagecopymerge ( resource $dst_im , resource $src_im , int $dst_x , int $dst_y , int $src_x , int $src_y , int $src_w , int $src_h , int $pct )

ここで、$dst_im はターゲット画像リソース ハンドル、$src_im はソース画像リソース ハンドル、$dst_x と $dst_y です。ターゲット画像の座標の開始点、$src_x と $src_y はソース画像の開始座標、$src_w と $src_h はソース画像の幅と高さ、$pct は透明度、範囲は 0- 100。

次は、関数 imagecopymerge を使用して、別のベースマップ内の円形イメージをカバーする例です。

<?php
//从文件中创建一个底图
$bg_image = imagecreatefrompng('bg.png');

//从文件中创建一个圆形图像
$circle_image = imagecreatefrompng('circle.png');

//获取圆形图像的宽和高
list($circle_width, $circle_height) = getimagesize('circle.png');

//定义透明度为60%
$pct = 60;

//将圆形图像复制到底图中
imagecopymerge($bg_image, $circle_image, 100, 100, 0, 0, $circle_width, $circle_height, $pct);

//将图像输出到浏览器
header('Content-type: image/png');
imagepng($bg_image);

//释放图像资源
imagedestroy($bg_image);
imagedestroy($circle_image);
?>
  1. 概要

GD ライブラリは A です。画像の処理と生成を簡単にできる非常に便利なグラフィック ライブラリです。この記事では、GD ライブラリのインストール、基本概念、共通機能について紹介します。 GD ライブラリを学習して使用することで、PHP アプリケーションをより柔軟で強力にすることができます。

以上がPHP の GD ライブラリと関連関数の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。