画像処理は、特に画像を作成、変更、または出力する必要がある場合に、PHPの一般的な要件です。 PHPは、さまざまな形式で画像ファイルを処理するためのさまざまな関数を提供します。一般的に使用される2つの関数は、 ImageCreateFromGd2()とImageCreateFromJPeg()です。これらの2つの機能の主な機能は、異なる形式で画像ファイルから画像リソースを作成することですが、アプリケーションシナリオとパフォーマンス特性は異なります。
ImageCreateFromgd2()関数は、PHPの画像作成関数であり、GD2形式の画像ファイルから画像リソースを作成するために使用されます。 GD2は画像形式であり、通常は画像処理にGDライブラリを使用するときに生成され、PHPではこの機能を使用してその形式の画像を読み取ることができます。
resource imagecreatefromgd2 ( string $filename )
$ filename :画像ファイルへのパス。
返品値:画像リソースを返し、成功したときに画像リソースハンドルを返し、障害時にfalseを返します。
ImageCreateFromJPeg()関数は、JPEG形式の画像ファイルから画像リソースを作成するために使用されます。 JPEG形式は一般的な画像形式であり、特に複雑な色の写真や画像を保存するのに適しています。
resource imagecreatefromjpeg ( string $filename )
$ filename :画像ファイルへのパス。
返品値:画像リソースを返し、成功したときに画像リソースハンドルを返し、障害時にfalseを返します。
サポートされている形式:
ImageCreateFromgd2()は、GD2形式の画像ファイルの読み取りに特に使用されます。 GD2は、GDライブラリによって生成された形式であり、通常はPHP画像処理操作で使用されます。
ImageCreateFromJPeg()は、特にWebページや写真ストレージで、広く使用されている標準画像形式であるJPEG形式の画像ファイルを読み取るために使用されます。
画質と圧縮:
JPEG形式では、損失のある圧縮を使用します。つまり、画像は保存するといくつかの詳細と品質を失いますが、ファイルサイズを大幅に削減できます。この圧縮方法は、特に帯域幅やストレージスペースが必要な場合、写真や大規模な画像の保存に適しています。
GD2形式は通常、画像処理中の一時的なストレージに使用され、圧縮されない可能性があるため、画像の品質を高レベルに維持できます。ただし、GD2形式は、実際のアプリケーションではJPEGほど広く使用されていません。
パフォーマンス:
JPEG画像を読み取る場合、JPEGは損失のある圧縮形式であるため、デコードは非圧縮形式(GD2など)よりもわずかに遅くなる場合があります。大きな画像の場合、JPEG画像を読むことはより時間がかかります。
GD2形式で画像を読み取る場合、GD2形式は画像処理用に設計されており、複雑な圧縮および減圧プロセスを通過しないため、通常はJPEG形式の画像よりも高速です。
GDライブラリを介して生成された画像ファイルを処理する必要がある場合、または特定のアプリケーションシナリオで生成されたGD2形式の画像で作業している場合は、 ImageCreateFromgd2()を使用する必要があります。
一般的な写真やWeb画像(通常はJPEG形式)を扱っている場合は、 ImageCreateFromJpeg()を使用する必要があります。
これらの2つの関数を使用する方法のサンプルコードは次のとおりです。
<?php
// からGD2フォーマット画像ファイルの読み取り
$image = imagecreatefromgd2('path_to_image.gd2');
if ($image === false) {
echo "読むことができませんGD2形式の画像";
} else {
// 画像の処理
header('Content-Type: image/png');
imagepng($image);
imagedestroy($image);
}
?>
<?php
// からJPEGフォーマット画像ファイルの読み取り
$image = imagecreatefromjpeg('path_to_image.jpg');
if ($image === false) {
echo "読むことができませんJPEG形式の画像";
} else {
// 画像の処理
header('Content-Type: image/jpeg');
imagejpeg($image);
imagedestroy($image);
}
?>
ImageCreateFromgd2()およびImageCreateFromJpeg()は、異なる形式の画像ファイルを読み取るために使用される関数ですが、異なる画像形式をサポートしています。
ImageCreateFromgd2()はGD2形式の画像の読み取りに適していますが、 ImageCreateFromJpeg()はJPEG形式の画像を読むのに適しています。
パフォーマンス面では、JPEG画像の読み取りは、損失の低い圧縮画像を減圧する必要があるため、比較的遅くなりますが、通常はGD2形式は圧縮されず、より速く読み取られます。
使用する機能を選択するときは、実際のニーズに基づいて決定する必要があります。 JPEG画像を処理している場合は、 imageCreatefromjpeg()を使用します。 GD2画像を処理している場合は、 ImageCreateFromgd2()を使用してください。