PHP を使用して画像をトリミングおよびサイズ変更する方法

王林
リリース: 2023-08-18 13:06:01
オリジナル
1965 人が閲覧しました

PHP を使用して画像をトリミングおよびサイズ変更する方法

PHP を使用して画像を切り取ったりズームしたりする方法

はじめに: Web 開発では、多くの場合、画像を切り取ったりズームしたりする必要があります。人気のあるサーバーサイド言語として、PHP は画像に対するさまざまな操作を容易にする豊富な画像処理関数とライブラリを提供します。この記事では、PHP を使用して画像をトリミングおよびズームする方法を紹介し、対応するコード例を示します。

1. 画像のトリミング

画像のトリミングとは、元の画像から必要な部分を切り出すことを意味します。 PHP では、GD ライブラリが提供する関数を使用して画像のトリミングを実現できます。

ステップ 1: 元の画像を開く

まず、元の画像を開いて、imagecreatefromjpeg()imagecreatefrompng( などの関数を使用して画像を作成する必要があります。 ) 画像リソース。

$sourceImage = imagecreatefromjpeg('original.jpg');
ログイン後にコピー
ログイン後にコピー

ステップ 2: ターゲット画像を作成する

次に、切り抜いた結果としてターゲット画像を作成する必要があります。 imagecreatetruecolor() 関数を使用すると、元の画像と同じサイズの画像リソースを作成できます。

$width = imagesx($sourceImage);
$height = imagesy($sourceImage);

$targetImage = imagecreatetruecolor($width, $height);
ログイン後にコピー

ステップ 3: 画像をトリミングする

関数を使用しますimagecopy()元の画像の一部をターゲット画像にコピーします。元の画像リソース、ターゲット画像リソース、ターゲット画像の開始座標、および元の画像の開始座標を渡す必要があります。以下は元画像から中央部分をキャプチャした例です。

$targetX = 0;
$targetY = 0;
$sourceX = $width / 4;
$sourceY = $height / 4;
$targetWidth = $width / 2;
$targetHeight = $height / 2;
$sourceWidth = $width / 2;
$sourceHeight = $height / 2;

imagecopy($targetImage, $sourceImage, $targetX, $targetY, $sourceX, $sourceY, $targetWidth, $targetHeight);
ログイン後にコピー

ステップ 4: 結果の画像を保存する

最後に、トリミングされた結果をファイルに保存する必要があります。 imagejpeg() 関数を使用して、対象の画像を JPEG 形式のファイルとして保存します。

imagejpeg($targetImage, 'cropped.jpg');
ログイン後にコピー

この時点で、画像のトリミング操作は完了しました。

2. 画像の拡大縮小

画像の拡大縮小とは、画像のサイズを特定の比率に従って変更することを意味します。 PHP では、GD ライブラリによって提供される関数を使用して、画像のスケーリングを実現できます。

ステップ 1: 元の画像を開く

同様に、最初に imagecreatefromjpeg()imagecreatefrompng()# などの関数を使用して元の画像を開く必要があります。 ##。

$sourceImage = imagecreatefromjpeg('original.jpg');
ログイン後にコピー
ログイン後にコピー

ステップ 2: スケーリング後のサイズを計算する

ターゲット イメージの幅と高さを計算します。これは、比例してスケーリングすることも、固定サイズを指定することもできます。

$scale = 0.5; // 缩放比例,此处为缩小一半
$targetWidth = imagesx($sourceImage) * $scale;
$targetHeight = imagesy($sourceImage) * $scale;
ログイン後にコピー

ステップ 3: ターゲット イメージを作成する

ターゲット イメージを作成するときは、

imagecreatetruecolor() 関数を使用してターゲット イメージのサイズを指定する必要があります。

$targetImage = imagecreatetruecolor($targetWidth, $targetHeight);
ログイン後にコピー

ステップ 4: 画像を拡大縮小する

関数

imagecopyresampled() を使用して、指定されたサイズに従って元の画像をターゲット画像に拡大縮小します。

imagecopyresampled($targetImage, $sourceImage, 0, 0, 0, 0, $targetWidth, $targetHeight, imagesx($sourceImage), imagesy($sourceImage));
ログイン後にコピー

ステップ 5: 結果画像を保存する

最後に、

imagejpeg()imagepng() などの関数を使用して、ターゲット画像を保存します。ファイルとして。

imagejpeg($targetImage, 'resized.jpg');
ログイン後にコピー
画像のズーム操作を完了します。

概要: この記事では、PHP を使用して画像をトリミングおよびズームする方法を紹介します。これには、元の画像を開く、ターゲット画像の作成、画像のトリミングと拡大縮小、結果の画像の保存が含まれます。 PHPが提供するGDライブラリ関数を利用すると、画像に対するさまざまな操作を簡単に実装できます。この記事が、画像処理のための PHP の理解と使用に役立つことを願っています。

参考:

    PHP 公式ドキュメント: http://php.net/manual/en/ref.image.php
  • GD ライブラリ リファレンス マニュアル: http ://php.net/manual/en/book.image.php

以上がPHP を使用して画像をトリミングおよびサイズ変更する方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

関連ラベル:
ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
最新の問題
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート