現在の位置: ホーム> 最新記事一覧> PHP画像処理のヒント:透かしやテキストを写真に簡単に追加する方法

PHP画像処理のヒント:透かしやテキストを写真に簡単に追加する方法

M66 2025-09-25

PHP画像処理のヒント:透かしやテキストを写真に簡単に追加する方法

画像処理は、ウェブサイト開発における一般的な要件です。多くの場合、著作権を保護したり、追加情報を伝えたりするために、画像に透かしまたはテキストを追加する必要があります。強力なサーバー側のスクリプト言語として、PHPは豊富な画像処理機能を提供します。この記事では、PHPを使用して透かしやテキストを簡単に追加する方法を紹介します。

画像に透かしを追加する方法

透かしを追加することは、画像の著作権を保護する一般的な方法です。 PHPのGDライブラリを使用して画像に透かしを追加するためのサンプルコードを次に示します。

<?php
// キャンバスを作成します,写真を開きます
$image = imagecreatefromjpeg('image.jpg');
$watermark = imagecreatefrompng('watermark.png');

// 画像と透かしの幅と高さを取得します
$imageWidth = imagesx($image);
$imageHeight = imagesy($image);
$watermarkWidth = imagesx($watermark);
$watermarkHeight = imagesy($watermark);

// 透かしの位置を計算します
$positionX = $imageWidth - $watermarkWidth - 10; // 右側の透かし10ピクセル
$positionY = $imageHeight - $watermarkHeight - 10; // 底からの透かし距離10ピクセル

// 透かしを写真にコピーします
imagecopy($image, $watermark, $positionX, $positionY, 0, 0, $watermarkWidth, $watermarkHeight);

// 出力画像
header('Content-Type: image/jpeg');
imagejpeg($image);

// 無料のメモリ
imagedestroy($image);
imagedestroy($watermark);
?>

上記の例では、最初にキャンバスを作成し、追加する画像と透かし画像を開きます。次に、phpの `yagesx()`および `yagesy()`機能を使用して、画像と透かしの幅と高さを取得して透かしの位置を計算します。最後に、 `imageCopy()`関数を使用して透かしを画像にコピーし、 `yimasjpeg()`を介して最終画像を出力します。

画像にテキストを追加する方法

透かしに加えて、多くの開発者は画像にカスタムテキストを追加したいと考えています。 PHPは、この要件を簡単に達成できる `imagettftext()`関数を提供します。テキストを追加する例は次のとおりです。

<?php
// キャンバスを作成します,写真を開きます
$image = imagecreatefromjpeg('image.jpg');

// テキストの色を設定します
$textColor = imagecolorallocate($image, 255, 255, 255);

// フォントを設定します
$font = 'arial.ttf';

// テキストを設定します
$text = 'Hello, World!';

// テキストを追加します
imagettftext($image, 30, 0, 10, 50, $textColor, $font, $text);

// 出力画像
header('Content-Type: image/jpeg');
imagejpeg($image);

// 無料のメモリ
imagedestroy($image);
?>

この例では、最初にキャンバスを作成し、ターゲット画像を開きます。次に、 `imageColorAllocate()`関数を使用してテキストの色を設定し、 `imagettftext()`関数を使用してテキストを追加します。 `imagejpeg()`を介して画像を出力し、最後に「Imagedestroy()」を使用してメモリを解放します。

要約します

PHPのGDライブラリを使用して、透かしとテキストを画像に簡単に追加できます。これらのヒントは、画像の著作権を保護するだけでなく、画像に追加情報を追加するのにも役立ちます。この記事が画像処理に役立つことを願っています。