激情久久久_欧美视频区_成人av免费_不卡视频一二三区_欧美精品在欧美一区二区少妇_欧美一区二区三区的

服務器之家:專注于服務器技術及軟件下載分享
分類導航

PHP教程|ASP.NET教程|Java教程|ASP教程|編程技術|正則表達式|C/C++|IOS|C#|Swift|Android|VB|R語言|JavaScript|易語言|vb.net|

服務器之家 - 編程語言 - PHP教程 - php生成驗證碼,縮略圖及水印圖的類分享

php生成驗證碼,縮略圖及水印圖的類分享

2021-01-08 15:20php中文網 PHP教程

這篇文章主要給大家分享的是php生成驗證碼,縮略圖,及水印圖的類,十分的實用,有需要的小伙伴可以參考下

封裝了一個類,可生成驗證碼,縮略圖,及水印圖,分享給大家

?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
<?php
class image{
  session_start();
  //驗證碼類
  static public function verify($code,$width=75,$height=25,$n=4){
    header("content-type:image/png");
    // 創建畫布
    $img=imagecreatetruecolor($width,$height);
    // 設置背景色
    $bgcolor=imagecolorallocate($img,mt_rand(200,255),mt_rand(200,255),rand(200,255));
    // 將背景色填充
    imagefill($img,0,0,$bgcolor);
    // 繪制五條弧線
    for($i=0;$i<5;$i++){
      $arccolor=imagecolorallocate($img,mt_rand(200,255),mt_rand(200,255),rand(200,255));
      imagearc($img,mt_rand(5,($width-5)),mt_rand(5,($height-5)),mt_rand(5,($width-5)),mt_rand(5,($height-5)),mt_rand(0,360),mt_rand(0,360),$arccolor);
    }
    // 繪制一百個點
    for($i=0;$i<100;$i++){
      $pixelcolor=imagecolorallocate($img,mt_rand(200,255),mt_rand(200,255),rand(200,255));
      imagesetpixel($img,mt_rand(1,($width-1)),mt_rand(1,($height-1)),$pixelcolor);
    }
    // 繪制五條線段
    for($i=0;$i<5;$i++){
      $linecolor=imagecolorallocate($img,mt_rand(200,255),mt_rand(200,255),rand(200,255));
      imageline($img,mt_rand(1,($width-1)),mt_rand(1,($height-1)),mt_rand(1,($width-1)),mt_rand(1,($height-1)),$linecolor);
    }
    // 設置邊框顏色
    $bdcolor=imagecolorallocate($img,mt_rand(150,200),mt_rand(150,200),rand(150,200));
    // 繪制一個矩形無填充邊框
    imagerectangle($img,0,0,($width-1),($height-1),$bdcolor);
    // 設置驗證碼字符串
    $str='';
    for($i=1;$i<=$n;$i++){
      $str.=substr(str_shuffle($code),0,1);
    }
    $_SESSION['a']=$str;
    //
    for($i=0;$i<$n;$i++){
      $textcolor=imagecolorallocate($img,mt_rand(100,150),mt_rand(100,150),mt_rand(100,150));
      imagettftext($img,1/($n+1)*$width,mt_rand(-20,20),((1-$n/(5+$n))*$width/($n-1)+$i*1/($n+1)*$width),1/2*($height+3/5*$height),$textcolor,'1.ttf',substr($str,$i,1));
    }
    // 打印圖像
    imagepng($img);
    // 釋放資源
    imagedestroy($img);
    return $str;
  }
  //縮略圖類
  /*
  *$source需要縮略的圖片
  */
  static public function thumbnail($source,$deletesource=false,$width=180){
    $info=getimagesize($source);
    //getimagesize方法獲得圖像的詳細信息
    $createFun=str_replace('/','createfrom',$info['mime']);
    //將getimagesize中的['mime']中的/替換,變為imagecreatefromjpeg方法
    $src=$createFun($source);
    //創建圖像
    $dst_w=$width;
    //縮略圖的寬
    $dst_h=$width/$info[0]*$info[1];
    //計算縮略圖的高
    $dst=imagecreatetruecolor($dst_w,$dst_h);
    //新建一個真彩色圖像
    imagecopyresampled($dst,$src,0,0,0,0,$dst_w,$dst_h,$info['0'],$info['1']);
    //重采樣拷貝部分圖像并調整大小
    $saveFun=str_replace('/','',$info['mime']);
    //設置保存函數
    $ext=strrchr($source,'.');
    //strrchr查找指定字符在字符串中的最后一次出現,返回包括其自身在內的剩余的字符串
    $thumbnailName=str_replace($ext,'',$source).'_thumbnail'.$ext;
    //設置保存路徑
    if(!$deletesource){
      $saveFun($dst,$thumbnailName);
      //保存圖像
    }else{
      $saveFun($dst,$thumbnailName);
      unlink($source);
      //刪除原圖
    }
    imagedestroy($src);
    //銷毀資源
    imagedestroy($dst);
    //銷毀資源
    return $thumbnailName;
 
  }
  //水印圖類
  /*
  *$srcing水印圖
  *$dsting原圖
  */
  static public function watermark($dstimg,$srcimg){
    $dstinfo=getimagesize($dstimg);
    //getimagesize方法獲取該圖片的詳細信息(該方法返回的是一個詳細的數組)
    $srcinfo=getimagesize($srcimg);
    $createdst=str_replace('/','createfrom',$dstinfo['mime']);
    //將getimagesize方法返回的數組中的mime值中的/替換,結果為imagecreatefromjpeg
    $createsrc=str_replace('/','createfrom',$srcinfo['mime']);
    $dst=$createdst($dstimg);
    //替換后為imagecreatefromjpeg函數,創建一個圖像
    $dst_w=imagesx($dst);
    //獲取大圖的寬
    $dst_h=imagesy($dst);
    //獲取大圖的高
    $src=$createsrc($srcimg);
    //替換后為imagecreatefromjpeg函數,創建一個圖像
    $src_w=imagesx($src);
    //獲取水印圖的寬
    $src_h=imagesy($src);
    //獲取水印圖的高
    $watermaker=imagecopy($dst,$src,($dst_w-$src_w),($dst_h-$src_h),0,0,$src_w,$src_h);
    //將水印圖復制在大圖上
    $saveFun=str_replace('/','',$dstinfo['mime']);
    //將getimagesize返回數組中的['mime']中的斜杠替換為空,替換后的值為imagejpeg,即為保存函數
    $ext=strrchr($dstimg,'.');
    //strrchr查找指定字符在字符串中的最后一次出現,返回包括其自身在內的剩余的字符串
    $watermaker=str_replace($ext,'',$dstimg).'_water'.time().$ext;
    //保存名
    $saveFun($dst,$watermaker);
    //保存圖片,第一個參數為要保存的圖片,第二個參數為保存路徑或保存名
    imagedestroy($dst);
    //銷毀資源
    imagedestroy($src);
    //銷毀資源
    return $watermaker;
 
  }
 
}
?>

 

延伸 · 閱讀

精彩推薦
主站蜘蛛池模板: 久久蜜桃精品一区二区三区综合网 | 99精品国产在热久久婷婷 | 草操视频| 久久久久亚洲国产精品 | 日韩黄色精品 | 好吊一区二区三区 | 亚洲生活片 | 天天透天天狠天天爱综合97 | 国产精品成人一区二区三区电影毛片 | 99欧美视频| 91精品久久久久久久 | 神秘电影91 | 泰剧19禁啪啪无遮挡大尺度 | 成年免费在线视频 | 一区二区国产在线 | 成年人网站国产 | 日韩视频一区二区在线观看 | 欧美日韩在线视频一区 | 欧美日韩精品不卡一区二区三区 | 91网站链接 | 国产一级毛片高清视频完整版 | 中文字幕亚洲一区二区三区 | 激情视频日韩 | 五月天影院,久久综合, | 茄子福利视频 | 在线观看一区二区三区四区 | 精品无吗乱吗av国产爱色 | 国产精品久久久久久久四虎电影 | 国产精品99久久久久久久女警 | 可以免费看av| 欧美人与性禽动交精品 | 免费一级a毛片在线播放视 日日草夜夜操 | 久久免费毛片 | 日本久久精品视频 | 久草视频在线资源 | 亚洲影视中文字幕 | 久草在线视频网 | 精品国产精品久久 | a集毛片| 亚洲精品成人18久久久久 | 毛片在线免费 |