ホームページ  >  記事  >  バックエンド開発  >  PHP 画像処理: imagecopy 関数を使用して画像にウォーターマークを追加する例、_PHP チュートリアル

PHP 画像処理: imagecopy 関数を使用して画像にウォーターマークを追加する例、_PHP チュートリアル

WBOY
WBOYオリジナル
2016-07-13 10:13:42938ブラウズ

PHP 画像処理: imagecopy 関数を使用して画像透かしを追加する例、

画像に透かしを追加することも、画像処理の一般的な機能です。ページ上の写真さえ見ていれば簡単に手に入るので、せっかく編集した写真が他人に無断で使われてしまうのは嫌なので、確認のために写真に透かしを入れておきます。著作権を保護し、写真の盗難を防ぎます。テキスト (会社名と Web サイト) または画像 (会社のロゴ) を使用して透かしを作成できます。画像の透かしは、画像作成ソフトウェアで美しくすることができるため、より効果的です。テキストを透かしとして使用するには、画像上にテキストを描画するだけです。画像にウォーターマークを作成したい場合は、まず、画像の一部をコピーできる GD ライブラリの imagecopy() 関数を理解する必要があります。この関数のプロトタイプは次のようになります:

コードをコピーします コードは次のとおりです:

bool imagecopy(リソース dst_im,リソース src_im,int dst_x,int dst_y,int src_x,int src_y,int src_w,int src_h)

この関数の機能は、src_x、src_yから始まる幅src_w、高さsrc_hのsrc_im画像の一部を、座標dst_x、dst_yのdst_im画像の位置にコピーすることです。 JPEG 形式の写真を例として、写真に透かしを追加する関数 Watermark() を作成します。コードは次のとおりです。

コードをコピーします コードは次のとおりです:
//画像の透かしを背景画像に追加します(ランダムな位置)、背景画像の形式は jpeg、透かし画像の形式は gif
関数ウォーターマーク($filename,$water){
//背景画像の幅と高さを取得します
list($b_w,$b_h) = getimagesize($filename);
//ウォーターマーク画像の幅と高さを取得します
list($w_w,$w_h) = getimagesize($water);
//透かし画像を背景画像内のランダムな開始位置に配置します
$posX = rand(0, ($b_w-$w_w));
$posY = rand(0, ($b_h-$w_h));
//背景画像を作成するためのリソース
$back = imagecreatefromjpeg($filename);
//透かし画像を作成するためのリソース
$water = imagecreatefromgif($water);
//imagecopy() 関数を使用して、透かし画像を背景画像で指定された場所にコピーします
imagecopy($back, $water, $posX, $posY, 0, 0, $w_w, $w_h);
//背景画像を透かし画像付きで保存します
imagejpeg($back,$filename);
imagedestroy($back);
imagedestroy($water);
}
Watermark("brophp.jpg", "logo.gif");
?>

http://www.bkjia.com/PHPjc/914054.htmlwww.bkjia.comtru​​ehttp://www.bkjia.com/PHPjc/914054.html技術記事 PHP 画像処理では、imagecopy 関数を使用して画像に透かしの例を追加します。これも画像処理の一般的な機能です。なぜなら、ページ上の写真を見る限り、簡単にできるからです...
声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。