ホームページ >バックエンド開発 >PHPチュートリアル >PHP では JPEG 画像のサイズを変更することもできます。

PHP では JPEG 画像のサイズを変更することもできます。

藏色散人
藏色散人オリジナル
2021-08-31 14:27:483858ブラウズ

前回の記事「なぜPHPの===演算子は==より速いのか?」 >>PHP の === 演算子が == よりも速い理由を紹介しました。興味のある友達はそれについて学ぶことができます~

この記事のテーマは、PHP で JPEG を調整する方法を説明することです。 PHP イメージのサイズ。

Web サイト開発の過程で、カバー画像、サムネイル、情報画像などの画像を拡大縮小する機能を実装する必要がある場合があります。画像のサイズはニーズに応じて指定する必要がありますが、次のように HTML を使用して画像サイズを変更できることも知っておく必要があります。

<img src="001.jpg"    style="max-width:90%" width="100" alt="图片尺寸">

もちろん、この記事の焦点は次のとおりです。 PHP で画像サイズを調整するには、コードのすぐ下を見てみましょう:

PHP コードは次のとおりです:

<?php

$filename = &#39;001.jpg&#39;;

// 最大宽度和高度
$width = 100;
$height = 100;

// 文件类型
header(&#39;Content-Type: image/jpg&#39;);

// 新尺寸
list($width_orig, $height_orig) = getimagesize($filename);

$ratio_orig = $width_orig/$height_orig;

if ($width/$height > $ratio_orig) {
    $width = $height*$ratio_orig;
} else {
    $height = $width/$ratio_orig;
}

// 重采样的图像
$image_p = imagecreatetruecolor($width, $height);
$image = imagecreatefromjpeg($filename);

imagecopyresampled($image_p, $image, 0, 0, 0, 0,
    $width, $height, $width_orig, $height_orig);

// 输出图像
imagejpeg($image_p, null, 100);

効果は次のとおりです:

PHP では JPEG 画像のサイズを変更することもできます。

ここでは、重要な関数 imagecopyresampled():

(この関数はバージョン PHP 4 >= 4.0 に適用されます。 6、PHP 5、PHP 7、PHP 8)

imagecopyresampled — 画像の一部をリサンプリングしてコピーし、サイズを変更します;

構文:

imagecopyresampled(
    resource $dst_image,
    resource $src_image,
    int $dst_x,
    int $dst_y,
    int $src_x,
    int $src_y,
    int $dst_w,
    int $dst_h,
    int $src_w,
    int $src_h
): bool

パラメータはそれぞれ次を表します:

dst_image:目标图象资源。
src_image:源图象资源。
dst_x:目标 X 坐标点。
dst_y:目标 Y 坐标点。
src_x:源的 X 坐标点。
src_y:源的 Y 坐标点。
dst_w:目标宽度。
dst_h:目标高度。
src_w:源图象的宽度。
src_h:源图象的高度。

imagecopyresampled() 画像内の正方形をコピーします 領域は別の画像にコピーされ、ピクセル値を滑らかに補間するため、特に、優れた画像を維持しながら画像のサイズを縮小します鋭さ。

In other words, imagecopyresampled() will take a rectangular area from src_image of width src_w and height src_h at position (src_x,src_y) and place it in a rectangular area of dst_image of width dst_w and height dst_h at position (dst_x,dst_y).

ソースとターゲットの幅と高さが異なる場合、対応する画像の縮小と拡大が発生します。座標は左上隅を指します。この関数は、同じイメージ内の領域をコピーするために使用できます (dst_image と src_image が同じ場合) が、領域が重なっている場合の結果は予測できません。

最後に、最新かつ最も包括的な「PHP ビデオ チュートリアル 」をお勧めします~ぜひ学んでください!

以上がPHP では JPEG 画像のサイズを変更することもできます。の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

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