ホームページ  >  記事  >  バックエンド開発  >  PHPの組み込み関数を使用して画像を処理するにはどうすればよいですか?

PHPの組み込み関数を使用して画像を処理するにはどうすればよいですか?

WBOY
WBOYオリジナル
2024-04-22 12:15:02578ブラウズ

PHP 組み込み関数は、画像の拡大縮小、トリミング、透かしの追加などの操作を実現できる便利な画像処理機能を提供します。 imagecopyresampled() を使用して画像のサイズを変更し、imagecrop() を使用して画像をトリミングし、imagecopymerge() を使用して透かしを追加します。

如何使用 PHP 内置函数处理图像?

PHP 組み込み関数を使用して画像を処理する方法

PHP には画像処理用の組み込み関数が豊富に用意されており、画像を操作することができます。便利かつ迅速に。この記事では、これらの関数を使用して、拡大縮小、切り抜き、透かしの追加など、画像に対して一般的な操作を実行する方法を紹介します。以下の内容には実際のケースコードが含まれています。

画像を拡大縮小する

imagecopyresampled() この関数は画像を拡大縮小できます:

<?php
$src_image = 'image.jpg';
$dst_image = 'image-scaled.jpg';
$scaled_width = 300;
$scaled_height = 200;

$src = imagecreatefromjpeg($src_image);
$dst = imagecreatetruecolor($scaled_width, $scaled_height);
imagecopyresampled($dst, $src, 0, 0, 0, 0, $scaled_width, $scaled_height, imagesx($src), imagesy($src));
imagejpeg($dst, $dst_image);
?>

画像をトリミングします

imagecrop() 関数は画像をトリミングできます:

<?php
$src_image = 'image.jpg';
$dst_image = 'image-cropped.jpg';
$crop_x = 100;
$crop_y = 200;
$crop_width = 300;
$crop_height = 200;

$src = imagecreatefromjpeg($src_image);
$dst = imagecrop($src, ['x' => $crop_x, 'y' => $crop_y, 'width' => $crop_width, 'height' => $crop_height]);
imagejpeg($dst, $dst_image);
?>

ウォーターマークを追加

imagecopymerge( ) 関数ウォーターマークを追加できます:

<?php
$main_image = 'image.jpg';
$watermark_image = 'watermark.png';
$output_image = 'image-with-watermark.jpg';
$margin = 50;

$main = imagecreatefromjpeg($main_image);
$watermark = imagecreatefrompng($watermark_image);

$watermark_width = imagesx($watermark);
$watermark_height = imagesy($watermark);

$dst_x = imagesx($main) - $margin - $watermark_width;
$dst_y = imagesy($main) - $margin - $watermark_height;

imagecopymerge($main, $watermark, $dst_x, $dst_y, 0, 0, $watermark_width, $watermark_height, 75);
imagejpeg($main, $output_image);
?>

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

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