ホームページ  >  記事  >  バックエンド開発  >  PHP を使用して 2 つの画像を 1 つに結合するにはどうすればよいですか?

PHP を使用して 2 つの画像を 1 つに結合するにはどうすればよいですか?

Susan Sarandon
Susan Sarandonオリジナル
2024-11-09 04:56:02540ブラウズ

How can I merge two images into one using PHP?

PHP で画像を結合: 秘密を明らかにする

2 つの画像を 1 つのキャンバスに結合することは、画像処理における一般的なタスクです。 PHP は、この目的のために堅牢な関数セットを提供し、さまざまな形式の画像を簡単に結合できるようにします。

この取り組みを支援する詳細なガイドは次のとおりです:

画像の準備

まず、imagecreatefrompng() と imagecreatefromjpeg() を使用して、ターゲット (メイン) 画像とソース (オーバーレイ) 画像の両方の画像ハンドルを作成します。

画像の結合

シームレスにオーバーレイするにはソース画像をターゲット画像にコピーするには、imagecopymerge() を使用します。この関数は次のパラメータを受け入れます:

  • 宛先画像ハンドル
  • ソース画像ハンドル
  • オーバーレイ配置の宛先 x 座標
  • 宛先 y-オーバーレイ配置の座標
  • オーバーレイの開始点のソース x 座標
  • オーバーレイの開始点のソース y 座標
  • ターゲット オーバーレイの幅
  • 宛先オーバーレイの高さ
  • (オプション) アルファ透明度レベル (0-100)

結果を出力

画像を正常に結合したら、結果を出力しますPHP の画像出力関数の 1 つを使用します。以下は、imagepng() を使用して、マージされたイメージを PNG 形式でレンダリングする例です。

header('Content-Type: image/png');
imagepng($dest);

サンプル コード

以下は、提供されたイメージを目的の出力に完璧にマージするサンプル スクリプトです。

<?php
$dest = imagecreatefrompng('vinyl.png');
$src = imagecreatefromjpeg('cover2.jpg');

imagealphablending($dest, false);
imagesavealpha($dest, true);

imagecopymerge($dest, $src, 10, 9, 0, 0, 181, 180, 100);

header('Content-Type: image/png');
imagepng($dest);

imagedestroy($dest);
imagedestroy($src);
?>

以上がPHP を使用して 2 つの画像を 1 つに結合するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

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