ホームページ > バックエンド開発 > PHPの問題 > PHPを使用して画像にウォーターマークを設定して保存する方法

PHPを使用して画像にウォーターマークを設定して保存する方法

PHPz
リリース: 2023-04-10 11:25:51
オリジナル
909 人が閲覧しました

PHP (ハイパーテキスト プリプロセッサ) は、動的な Web サイトや Web アプリケーションの作成に使用される一般的なサーバー側スクリプト言語です。 Web アプリケーションの開発において、画像の透かしは通常、画像の芸術性と美しさを高めながら著作権を保護できる重要な機能の 1 つです。今回はPHPを使って画像にウォーターマークを設定して保存する方法を紹介します。

ステップ 1: 画像を取得する

まず、透かしを追加する画像を取得する必要があります。PHP の「imagecreatefromjpeg」、「imagecreatefrompng」およびその他の関数を使用して、さまざまな画像形式の画像リソースから取得します。たとえば、次は JPEG ファイルから画像リソースを取得するサンプル コードです。

$source = imagecreatefromjpeg('image.jpg');
ログイン後にコピー

ステップ 2: ウォーターマークを作成する

次に、追加するウォーターマークを作成する必要があります。 PHP の「imagecreatefromjpeg」、「imagecreatefrompng」などの関数を使用して、さまざまな画像形式から画像リソースをウォーターマークとして取得できます。たとえば、PNG ファイルからウォーターマークを取得するサンプル コードは次のとおりです。

$watermark = imagecreatefrompng('watermark.png');
ログイン後にコピー

ステップ 3: 画像にウォーターマークを追加します

「imagecopy」関数を使用して、画像に透かしを入れます。この機能では、ソース イメージと宛先イメージ、さらにソース イメージの場所と宛先イメージの場所を指定する必要があります。たとえば、元の画像にウォーターマークを追加するサンプル コードは次のとおりです。

$watermark_width = imagesx($watermark);
$watermark_height = imagesy($watermark);
$dest_x = imagesx($source) - $watermark_width - 10;
$dest_y = imagesy($source) - $watermark_height - 10;
imagecopy($source, $watermark, $dest_x, $dest_y, 0, 0, $watermark_width, $watermark_height);
ログイン後にコピー

上記のコードでは、まずウォーターマークの幅と高さを取得し、次にウォーターマークの位置を計算します。オリジナルの画像。次に、「imagecopy」関数を使用して、ソースと宛先の場所を指定して、元の画像に透かしを追加します。

ステップ 4: 画像を保存する

最後に、透かし入りの画像をサーバーに保存する必要があります。 「imagejpeg」や「imagepng」などの関数を使用して、画像リソースを JPEG や PNG などのさまざまな形式で保存できます。たとえば、次は透かし入りの画像を JPEG 形式で保存するサンプル コードです。

imagejpeg($source, 'result.jpg');
ログイン後にコピー

上記のコードでは、「imagejpeg」関数を使用して画像リソースを JPEG 形式で保存し、保存するファイルを指定します。 「結果.jpg」という名前を付けます。

完全なコードは次のとおりです:

$source = imagecreatefromjpeg('image.jpg');
$watermark = imagecreatefrompng('watermark.png');

$watermark_width = imagesx($watermark);
$watermark_height = imagesy($watermark);
$dest_x = imagesx($source) - $watermark_width - 10;
$dest_y = imagesy($source) - $watermark_height - 10;
imagecopy($source, $watermark, $dest_x, $dest_y, 0, 0, $watermark_width, $watermark_height);

imagejpeg($source, 'result.jpg');
ログイン後にコピー

結論

上記の手順を通じて、PHP を使用して画像の透かしを簡単に設定し、保存することができます。もちろん、この記事は単純な例にすぎず、実際のアプリケーションではさらに詳細と最適化を考慮する必要がある場合があります。したがって、実際のアプリケーションでは、ニーズに応じて対応する修正や最適化を行ってください。

以上がPHPを使用して画像にウォーターマークを設定して保存する方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート