PHP ウォーターマークとサムネイルの実装コード (1/2)_PHP チュートリアル

WBOY
リリース: 2016-07-13 10:45:51
オリジナル
821 人が閲覧しました

写真をアップロードする際、ウェブサイトを宣伝するために、写真に透かしを追加したり、写真のサイズを縮小したりすることがあります。以下のコードにはこの機能があります。

写真をアップロードする際、ウェブサイトを宣伝するために、写真に透かしを追加したり、写真のサイズを縮小したりする場合があります。以下のコードにはこの機能があります。

/**************************************
//関数:ウォーターマーク($bigimg, $smallimg, $coord = 1)
//機能: ウォーターマークを追加します
//パラメータ:
$bigimg 必須。大きな画像 -- 透かしを入れる画像
$smallimg 必須。小さな写真
$coord オプション。大きな画像の透かしの位置
1 左上隅 2 右上隅 4 左下隅
//例:watermark('datu.png', 'xiaotu.png', 3); //datu.png にウォーターマークを追加します。ウォーターマークの位置は右下隅になります
************************************/
関数ウォーターマーク($bigimg, $smallimg, $coord = 1){
// 2 つの画像をロードし、PHP で認識されるエンコード形式に変換します
//ここで作成されるものが空のイメージではないことを除いて、imagecreate 関数と同じです。
$bi = getimagesize($bigimg); スイッチ($bi[2]){
ケース 1:
$im1 = imagecreatefromgif($bigimg);休憩
ケース 2; $im1 = imagecreatefromjpeg($bigimg);休憩
ケース 3; $im1 = imagecreatefrompng($bigimg);ブレイク
}
$si = getimagesize($smallimg); スイッチ($si[2]){
ケース 1:
$im2 = imagecreatefromgif($smallimg);ブレイク
ケース 2; $im2 = imagecreatefromjpeg($smallimg);ブレイク
ケース 3; $im2 = imagecreatefrompng($smallimg);ブレイク
}
//ウォーターマークを作成します -- 原則: 小さい画像を大きい画像にコピーします。ここでの座標値の計算に注意してください
スイッチ($coord){
ケース 1:
imagecopy ( $im1, $im2, 0, 0, 0, 0, $si[0], $si[1] ); ケース 2:
imagecopy ( $im1, $im2, $bi[0]-$si[0], 0, 0, 0, $si[0], $si[1] ); ケース 3:
imagecopy ( $im1, $im2, $bi[0]-$si[0], $bi[1]-$si[1], 0, 0, $si[0], $si[1] ); ;
ケース 4:
imagecopy ( $im1, $im2, 0, $bi[1]-$si[1], 0, 0, $si[0], $si[1] ); ケース 5:
imagecopy ( $im1, $im2, ($bi[0]-$si[0])/2, ($bi[1]-$si[1])/2, 0, 0, $si[0], $si[1] ); }
//サフィックス名に基づいてさまざまな形式で画像ファイルを生成します
スイッチ($bi[2]){
ケース 1:
imagegif($im1);休憩
ケース 2; imagejpeg($im1);ブレイク
ケース 3; imagepng($im1);ブレイク
}
画像破壊($im1); }
/**************************************************
//関数: サムネイル($srcimg, $multiple)
//機能: サムネイルを生成します
//パラメータ:
// $srcimg が必要です。ソース画像ファイル名
// $multiple はオプションです。複数の縮小、デフォルトは 2 倍、つまり元の 1/2 に縮小されます
//注: gif、jpg、png 形式の画像のみをサポートします。
//例: サムネイル('私の写真.jpg', 5); ************************************************/
関数サムネイル($srcimg, $multiple = 2){
//画像をロードし、その情報を配列に保存します
$srcimg_arr = getimagesize($srcimg); //略語の倍数を計算します
$thumb_width = $srcimg_arr[0] / $multiple
$thumb_height = $srcimg_arr[1] / $multiple; //判断: どのような形式の画像を作成するか (PHP が認識するエンコーディングに変換)
スイッチ($srcimg_arr[2]){
ケース 1:
$im = imagecreatefromgif($srcimg);休憩
ケース 2; $im = imagecreatefromjpeg($srcimg);ブレイク
ケース 3; $im = imagecreatefrompng($srcimg);ブレイク
}


1 2



http://www.bkjia.com/PHPjc/632998.html

www.bkjia.com

本当

http://www.bkjia.com/PHPjc/632998.html

技術記事

写真をアップロードする際、Web サイトを宣伝するために写真に透かしを追加したり、写真のサイズを縮小したりすることがあります。以下に示すコードにはこの機能があります。 ウェブサイトを宣伝するために写真をアップロードしています...

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