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

DDD
リリース: 2024-10-18 14:03:30
オリジナル
217 人が閲覧しました

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() を使用して使用されているメモリを解放します。

コード例

コード スニペットの例を次に示します。

<code class="php">// 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);</code>
ログイン後にコピー

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

ソース:php
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート
私たちについて 免責事項 Sitemap
PHP中国語ウェブサイト:福祉オンライン PHP トレーニング,PHP 学習者の迅速な成長を支援します!