「労働者が自分の仕事をうまくやりたいなら、まず自分の道具を研ぎ澄まさなければなりません。」 - 孔子、「論語。陸霊公」
表紙 > プログラミング > PHP を使用して画像に透かしを追加するにはどうすればよいですか?

PHP を使用して画像に透かしを追加するにはどうすればよいですか?

2024 年 11 月 6 日に公開
ブラウズ:621

How Can I Add Watermarks to Images Using PHP?

PHP を使用して画像にウォーターマークを追加する

ユーザーが画像をアップロードできる Web サイトで作業している場合は、次の追加が必要になる場合があります。それらの画像に透かしを入れて、不正使用から保護します。透かしを追加すると、アップロードされたすべての画像にロゴやブランドが確実に表示されます。 PHP でこれを実現する方法は次のとおりです。

PHP 関数の使用

PHP マニュアルには、次の関数を使用した包括的な例が記載されています。

  • imagecreatefrompng() - 透かし画像を PNG として読み込みます
  • imagecreatefromjpeg() -透かしを入れる元の画像を JPEG として読み込みます
  • imagecopy() - 透かし画像を元の画像にコピーします

透かしの位置

ウォーターマークを効果的に配置するには、$marge_right 変数と $marge_bottom 変数を使用してマージンを指定します。これにより、ウォーターマークと元の画像の端の間の距離を制御できます。

ウォーターマークを入れた画像の出力

ウォーターマークを追加したら、出力できます。 header() 関数を使用して透かし入りの画像を作成し、コンテンツ タイプを PNG に設定します。次に、imagepng() を使用して画像を出力し、imagedestroy() を使用して使用されているメモリを解放します。

サンプル コード

サンプル コード スニペットは次のとおりです:

// Load the stamp and the photo to apply the watermark to
$stamp = imagecreatefrompng('stamp.png');
$im = imagecreatefromjpeg('photo.jpeg');

// Set the margins for the stamp and get the height/width of the stamp image
$marge_right = 10;
$marge_bottom = 10;
$sx = imagesx($stamp);
$sy = imagesy($stamp);

// Copy the stamp image onto our photo using the margin offsets and the photo 
// width to calculate positioning of the stamp. 
imagecopy($im, $stamp, imagesx($im) - $sx - $marge_right, imagesy($im) - $sy - $marge_bottom, 0, 0, imagesx($stamp), imagesy($stamp));

// Output and free memory
header('Content-type: image/png');
imagepng($im);
imagedestroy($im);
リリースステートメント この記事は次の場所に転載されています: 1729231338 権利侵害がある場合は、[email protected] に連絡して削除してください。
最新のチュートリアル もっと>

免責事項: 提供されるすべてのリソースの一部はインターネットからのものです。お客様の著作権またはその他の権利および利益の侵害がある場合は、詳細な理由を説明し、著作権または権利および利益の証拠を提出して、電子メール [email protected] に送信してください。 できるだけ早く対応させていただきます。

Copyright© 2022 湘ICP备2022001581号-3