ホームページ > バックエンド開発 > PHPチュートリアル > PHP画像処理:ウォーターマーク・サムネイル追加の実装(カスタム関数:ウォーターマーク・サムネイル)_PHPチュートリアル

PHP画像処理:ウォーターマーク・サムネイル追加の実装(カスタム関数:ウォーターマーク・サムネイル)_PHPチュートリアル

WBOY
リリース: 2016-07-21 15:33:21
オリジナル
804 人が閲覧しました

早速、コードを示します:

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

/***************************************
//関数:ウォーターマーク($bigimg, $smallimg, $ coord = 1)
//関数: ウォーターマークを追加します
//パラメータ:
$bigimg 必須。大きな画像 -- 透かしを入れる画像
$smallimg 必須。小さい画像
$coord オプション。大きな画像内のウォーターマークの位置、
1 左上隅; 2 右上隅; 4 左下隅; 5 中央
//watermark('datu.png', 'xiaotu.png) ', 3); / / datu.png にウォーターマークを追加します
************************* ***********/
function Watermark($bigimg, $smallimg, $ coord = 1) {
//2 つの画像をロードし、PHP で認識されるエンコード形式に変換します。
//ここで作成されるものが空の画像ではないことを除き、imagecreate 関数と同等です。
$bi = getimagesize($bigimg);
switch($bi[2]){
ケース 1:
$im1 = imagecreatefromgif($bigimg);
$im1 = imagecreatefromjpeg($bigimg);ブレーク;
$im1 = imagecreatefrompng($bigimg);ブレーク;
$si = getimagesize($si[2]){
ケース 1:
$im2 = imagecreatefromgif(
$im2 = imagecreatefromjpeg($smallimg);break; 小さな画像から大きな画像へ。ここでの座標値の計算に注意してください
switch($coord){
case 1:
imagecopy ( $im1, $im2, 0, 0, 0, 0, $si[0], $si[1] );
ケース 2:
imagecopy ( $im1, $im2, $bi[0]-$si[0], 0, 0, 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] ); Break;
}
//サフィックス名に従って異なる形式の画像ファイルを生成する
switch($bi[2]){
case 1:
imagegif($ im1);ブレイク;
imagejpeg($im1);ブレイク;
}
imagedestroy($im1); /
function sumnail($srcimg , $multiple = 2){
//画像をロードし、その情報を配列に保存します
$srcimg_arr = getimagesize($srcimg)
//サムネイルの倍数を計算します
$thumb_width = $srcimg_arr; [0] / $multiple;
$thumb_height = $srcimg_arr[1] / $multiple;
//作成する画像の形式を決定します (PHP で認識されるエンコーディングに変換します)
switch($srcimg_arr[2]){
ケース 1:
$im = imagecreatefromgif ($srcimg); ブレーク;
$im = imagecreatefromjpeg($srcimg); ブレーク;
$im = imagecreatefrompng($srcimg); ブレーク; //省略操作を開始します
$thumb = imagecreatetruecolor($thumb_width, $thumb_height);
imagecopyresize($thumb, $im, 0, 0, 0 ,0, $thumb_width, $thumb_height, $srcimg_arr[0], $srcimg_arr[ 1]);
switch($srcimg_arr[2]){
case 2;
imagejpeg($thumb); ; Break;
}
imagepng ($thumb);
}
//テスト時にこれら 2 つの関数を同時に使用しないでください。
//watermark('datu.png','xiaotu.png',5);
サムネール('abc.png',3);



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

www.bkjia.com

tru​​e

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

技術記事

早速、コードを示します。 コードを次のようにコピーします。 ?php /********************************* * ** //関数:ウォーターマーク($bigimg, $smallimg, $coord = 1) //関数:ウォーターマークを追加/...





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