亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb

首頁 > 開發 > PHP > 正文

常用的php圖片處理類(水印、等比縮放、固定高寬)分享

2024-05-04 23:36:34
字體:
來源:轉載
供稿:網友

這篇文章主要匯總介紹了兩個常用的php圖片處理類(水印、等比縮放、固定高寬),非常的簡單實用,有需要的小伙伴可以參考下

常用的php圖片處理類(水印、等比縮放、固定高寬)分享

  1. <?php  
  2. //PHP 添加水印 & 比例縮略圖 & 固定高度 & 固定寬度 類。  
  3. class Image_process{  
  4. public $source; //原圖  
  5. public $source_width; //原圖寬度  
  6. public $source_height; //原圖高度  
  7. public $source_type_id;  
  8. public $orign_name;  
  9. public $orign_dirname;  
  10.  
  11. //傳入原圖路徑  
  12. public function __construct($source){  
  13. $this->typeList = array(1=>'gif',2=>'jpg',3=>'png');  
  14. $ginfo = getimagesize($source);  
  15. $this->source_width = $ginfo[0];  
  16. $this->source_height = $ginfo[1];  
  17. $this->source_type_id = $ginfo[2];  
  18. $this->orign_url = $source;  
  19. $this->orign_name = basename($source);  
  20. $this->orign_dirname = dirname($source);  
  21. }  
  22.  
  23. //判斷圖片的文件的格式,返回PHP可識別的編碼  
  24. public function judgeType($type,$source){  
  25. if($type == 1){  
  26. return imagecreatefromgif($source); //gif  
  27. }else if($type == 2){  
  28. return imagecreatefromjpeg($source); //jpg  
  29. }else if($type == 3){  
  30. return imagecreatefrompng($source); //png  
  31. }else{  
  32. return false;  
  33. }  
  34. }  
  35.  
  36. //生成水印圖片  
  37. public function waterMakeImage($logo){  
  38. $linfo = getimagesize($logo);  
  39. $logo_width = $linfo[0];  
  40. $logo_height = $linfo[1];  
  41. $logo_type_id = $linfo[2];  
  42. $sourceHandle = $this->judgeType($this->source_type_id,$this->orign_url);  
  43. $logoHandle = $this->judgeType($logo_type_id,$logo);  
  44. if(!$sourceHandle || !$logoHandle){  
  45. return false;  
  46. }  
  47. $x = ($this->source_width - $logo_width)/2;  
  48. $y = ($this->source_height - $logo_height)/2;  
  49. imagecopy($sourceHandle,$logoHandle,$x,$y,0,0,$logo_width,$logo_height);  
  50. $newPic = $this->orign_dirname.'/water_'.time().'.'.$this->typeList[$this->source_type_id];  
  51. if($this->saveImage($sourceHandle,$newPic)){  
  52. imagedestroy($sourceHandle);  
  53. imagedestroy($logoHandle);  
  54. }  
  55. }  
  56.  
  57. //固定高度寬度  
  58. public function fixSizeImage($width,$height){  
  59. if($width > $this->source_width) $this->source_width;  
  60. if($height > $this->source_height) $this->source_height;  
  61. if($width === false){  
  62. $width = floor($this->source_width / ($this->source_height / $height));  
  63. }  
  64. if($height === false){  
  65. $height = floor($this->source_height / ($this->source_width / $width));  
  66. }  
  67. $this->tinyImage($width,$height);  
  68. }  
  69.  
  70. //等比例縮放圖片  
  71. public function scaleImage($scale){  
  72. $width = floor($this->source_width * $scale);  
  73. $height = floor($this->source_height * $scale);  
  74. $this->tinyImage($width, $height);  
  75. }  
  76.  
  77. //創建縮略圖  
  78. public function tinyImage($width,$height){  
  79. $tinyImage = imagecreatetruecolor($width,$height);  
  80. $handle = $this->judgeType($this->source_type_id,$this->orign_url);  
  81. if(function_exists('imagecopyresampled')){  
  82. imagecopyresampled($tinyImage, $handle, 0, 0, 0, 0, $width, $height, $this->source_width, $this->source_height);  
  83. }else{  
  84. imagecopyresized($tinyImage, $handle, 0, 0, 0, 0, $width, $height, $this->source_width, $this->source_height);  
  85. }  
  86. $newPic = $this->orign_dirname.'/thumb_'.time().'_'.$width."_".$height.".".$this->typeList[$this->source_type_id];  
  87. if($this->saveImage($tinyImage,$newPic)){  
  88. imagedestroy($tinyImage);  
  89. imagedestroy($handle);  
  90. }  
  91. }  
  92. //保存圖片  
  93. private function saveImage($image,$url){  
  94. if(imagejpeg($image,$url)){  
  95. return true;  
  96. }  
  97. }  
  98. }  
  99. $imgHandle = new Image_process('D:/AppServ/www/test/getimg/14061907445601.jpg');  
  100. //$imgHandle->waterMakeImage('D:/AppServ/www/test/getimg/shougongke.png'); //生成水印圖片  
  101. //$imgHandle->fixSizeImage(200,150); //固定長度圖片  
  102. $imgHandle->scaleImage(0.2); //等比例縮放  
  103. ?> 
  104.  
  105.  
  106. 示例二: 
  107.  
  108.  
  109. 10 
  110. 11 
  111. 12 
  112. 13 
  113. 14 
  114. 15 
  115. 16 
  116. 17 
  117. 18 
  118. 19 
  119. 20 
  120. 21 
  121. 22 
  122. 23 
  123. 24 
  124. 25 
  125. 26 
  126. 27 
  127. 28 
  128. 29 
  129. 30 
  130. 31 
  131. 32 
  132. 33 
  133. 34 
  134. 35 
  135. 36 
  136. 37 
  137. 38 
  138. 39 
  139. 40 
  140. 41 
  141. 42 
  142. 43 
  143. 44 
  144. 45 
  145. 46 
  146. 47 
  147. 48 
  148. 49 
  149. 50 
  150. 51 
  151. 52 
  152. 53 
  153. 54 
  154. 55 
  155. 56 
  156. 57 
  157. 58 
  158. 59 
  159. 60 
  160. 61 
  161. 62 
  162. 63 
  163. 64 
  164. 65 
  165. 66 
  166. 67 
  167. 68 
  168. 69 
  169. 70 
  170. 71 
  171. 72 
  172. 73 
  173. 74 
  174. 75 
  175. 76 
  176. 77 
  177. 78 
  178. 79 
  179. 80 
  180. 81 
  181. 82 
  182. 83 
  183. 84 
  184. 85 
  185. 86 
  186. 87 
  187. 88 
  188. 89 
  189. 90 
  190. 91 
  191. 92 
  192. 93 
  193. 94 
  194. 95 
  195. 96 
  196. 97 
  197. 98 
  198. 99 
  199. 100 
  200. 101 
  201. 102 
  202. 103 
  203. 104 
  204. 105 
  205. 106 
  206. 107 
  207. 108 
  208. 109 
  209. 110 
  210. 111 
  211. 112 
  212. 113 
  213. 114 
  214. 115 
  215. 116 
  216. 117 
  217. 118 
  218. 119 
  219. 120 
  220. 121 
  221. 122 
  222. 123 
  223. 124 
  224. 125 
  225. 126 
  226. 127 
  227. 128 
  228. 129 
  229. 130 
  230. 131 
  231. 132 
  232. 133 
  233. 134 
  234. 135 
  235. 136 
  236. 137 
  237. 138 
  238. 139 
  239. 140 
  240. 141 
  241. 142 
  242. 143 
  243. 144 
  244. 145 
  245. 146 
  246. 147 
  247. 148 
  248. 149 
  249. 150 
  250. 151 
  251. 152 
  252. 153 
  253. 154 
  254. 155 
  255. 156 
  256. 157 
  257. 158 
  258. 159 
  259. 160 
  260. 161 
  261. 162 
  262. 163 
  263. 164 
  264. 165 
  265. 166 
  266. 167 
  267. 168 
  268. 169 
  269. 170 
  270. 171 
  271. 172 
  272. 173 
  273. 174 
  274. 175 
  275. 176 
  276. 177 
  277. 178 
  278. 179 
  279. 180 
  280. 181 
  281. 182 
  282. 183 
  283. 184 
  284. 185 
  285. 186 
  286. 187 
  287. 188 
  288. 189 
  289. 190 
  290. 191 
  291. 192 
  292. 193 
  293. 194 
  294. 195 
  295. 196 
  296. 197 
  297. 198 
  298. 199 
  299. 200 
  300. 201 
  301. 202 
  302. 203 
  303. 204 
  304. 205 
  305. 206 
  306. 207 
  307. 208 
  308. 209 
  309. 210 
  310. 211 
  311. 212 
  312. 213 
  313. 214 
  314. 215 
  315. 216 
  316. 217 
  317. 218 
  318. 219 
  319. 220 
  320. 221 
  321. 222 
  322. 223 
  323. 224 
  324. 225 
  325. 226 
  326. 227 
  327. 228 
  328. 229 
  329. 230 
  330. 231 
  331. 232 
  332. 233 
  333. 234 
  334. 235 
  335. 236 
  336. 237 
  337. 238 
  338. 239 
  339. 240 
  340. 241 
  341. 242 
  342. 243 
  343. 244 
  344. 245 
  345. 246 
  346. 247 
  347. 248 
  348. 249 
  349. 250 
  350. 251 
  351. 252 
  352. 253 
  353. 254 
  354. 255 
  355. 256 
  356. 257 
  357. 258 
  358. 259 
  359. 260 
  360. 261 
  361. 262 
  362. 263 
  363. 264 
  364. 265 
  365. 266 
  366. 267 
  367. 268 
  368. 269 
  369. 270 
  370. 271 
  371. 272 
  372. 273 
  373. 274 
  374. 275 
  375. 276 
  376. 277 
  377. 278 
  378. 279 
  379. 280 
  380. 281 
  381. 282 
  382. 283 
  383. 284 
  384. 285 
  385. 286 
  386. 287 
  387. 288 
  388. 289 
  389. 290 
  390. 291 
  391. 292 
  392. 293 
  393. 294 
  394. 295 
  395. 296 
  396. 297 
  397. 298 
  398. 299 
  399. 300 
  400. 301 
  401. 302 
  402. 303 
  403. 304 
  404. 305 
  405. 306 
  406. 307 
  407. 308 
  408. 309 
  409. 310 
  410. 311 
  411. 312 
  412. 313 
  413. 314 
  414. 315 
  415. 316 
  416. 317 
  417. 318 
  418. 319 
  419. 320 
  420. 321 
  421. 322 
  422. 323 
  423. 324 
  424. 325 
  425. 326 
  426. 327 
  427. 328 
  428. 329 
  429. 330 
  430. 331 
  431. 332 
  432. 333 
  433. 334 
  434. 335 
  435. 336 
  436. 337 
  437. 338 
  438. 339 
  439. 340 
  440. 341 
  441. 342 
  442. 343 
  443. 344 
  444. 345 
  445. 346 
  446. 347 
  447. 348 
  448. 349 
  449. 350 
  450. 351 
  451. 352 
  452. 353 
  453. 354 
  454. 355 
  455. 356 
  456. 357 
  457. 358 
  458. 359 
  459. 360 
  460. 361 
  461. 362 
  462. 363 
  463. 364 
  464. 365 
  465. 366 
  466. 367 
  467. 368 
  468. 369 
  469. 370 
  470. 371 
  471. 372 
  472. 373 
  473. 374 
  474. 375 
  475. 376 
  476. 377 
  477.  
  478. <?php 
  479. /** 
  480.  
  481. * 圖像處理類 
  482. * @author FC_LAMP 
  483. * @internal功能包含:水印,縮略圖 
  484. */ 
  485. class Img 
  486. //圖片格式 
  487. private $exts = array ('jpg''jpeg''gif''bmp''png' ); 
  488.  
  489. /** 
  490.  
  491.  
  492. * @throws Exception 
  493. */ 
  494. public function __construct() 
  495. if (! function_exists ( 'gd_info' )) 
  496. throw new Exception ( '加載GD庫失??!' ); 
  497.  
  498. /** 
  499.  
  500. * 裁剪壓縮 
  501. * @param $src_img 圖片 
  502. * @param $save_img 生成后的圖片 
  503. * @param $option 參數選項,包括: $maxwidth 寬 $maxheight 高 
  504. * array('width'=>xx,'height'=>xxx) 
  505. * @internal 
  506. * 我們一般的壓縮圖片方法,在圖片過長或過寬時生成的圖片 
  507. * 都會被“壓扁”,針對這個應采用先裁剪后按比例壓縮的方法 
  508. */ 
  509. public function thumb_img($src_img, $save_img = '', $option) 
  510.  
  511. if (empty ( $option ['width'] ) or empty ( $option ['height'] )) 
  512. return array ('flag' => False, 'msg' => '原圖長度與寬度不能小于0' ); 
  513. $org_ext = $this->is_img ( $src_img ); 
  514. if (! $org_ext ['flag']) 
  515. return $org_ext; 
  516.  
  517. //如果有保存路徑,則確定路徑是否正確 
  518. if (! empty ( $save_img )) 
  519. $f = $this->check_dir ( $save_img ); 
  520. if (! $f ['flag']) 
  521. return $f; 
  522.  
  523. //獲取出相應的方法 
  524. $org_funcs = $this->get_img_funcs ( $org_ext ['msg'] ); 
  525.  
  526. //獲取原大小 
  527. $source = $org_funcs ['create_func'] ( $src_img ); 
  528. $src_w = imagesx ( $source ); 
  529. $src_h = imagesy ( $source ); 
  530.  
  531. //調整原始圖像(保持圖片原形狀裁剪圖像) 
  532. $dst_scale = $option ['height'] / $option ['width']; //目標圖像長寬比 
  533. $src_scale = $src_h / $src_w; // 原圖長寬比 
  534. if ($src_scale >= $dst_scale) 
  535. // 過高 
  536. $w = intval ( $src_w ); 
  537. $h = intval ( $dst_scale * $w ); 
  538.  
  539. $x = 0; 
  540. $y = ($src_h - $h) / 3; 
  541. else 
  542. // 過寬 
  543. $h = intval ( $src_h ); 
  544. $w = intval ( $h / $dst_scale ); 
  545.  
  546. $x = ($src_w - $w) / 2; 
  547. $y = 0; 
  548. // 剪裁 
  549. $croped = imagecreatetruecolor ( $w, $h ); 
  550. imagecopy ( $croped, $source, 0, 0, $x, $y, $src_w, $src_h ); 
  551. // 縮放 
  552. $scale = $option ['width'] / $w; 
  553. $target = imagecreatetruecolor ( $option ['width'], $option ['height'] ); 
  554. $final_w = intval ( $w * $scale ); 
  555. $final_h = intval ( $h * $scale ); 
  556. imagecopyresampled ( $target, $croped, 0, 0, 0, 0, $final_w, $final_h, $w, $h ); 
  557. imagedestroy ( $croped ); 
  558.  
  559. //輸出(保存)圖片 
  560. if (! empty ( $save_img )) 
  561.  
  562. $org_funcs ['save_func'] ( $target, $save_img ); 
  563. else 
  564. header ( $org_funcs ['header'] ); 
  565. $org_funcs ['save_func'] ( $target ); 
  566. imagedestroy ( $target ); 
  567. return array ('flag' => True, 'msg' => '' ); 
  568.  
  569. /** 
  570.  
  571. * 等比例縮放圖像 
  572. * @param $src_img 原圖片 
  573. * @param $save_img 需要保存的地方 
  574. * @param $option 參數設置 array('width'=>xx,'height'=>xxx) 
  575.  
  576. */ 
  577. function resize_image($src_img, $save_img = '', $option) 
  578. $org_ext = $this->is_img ( $src_img ); 
  579. if (! $org_ext ['flag']) 
  580. return $org_ext; 
  581.  
  582. //如果有保存路徑,則確定路徑是否正確 
  583. if (! empty ( $save_img )) 
  584. $f = $this->check_dir ( $save_img ); 
  585. if (! $f ['flag']) 
  586. return $f; 
  587.  
  588. //獲取出相應的方法 
  589. $org_funcs = $this->get_img_funcs ( $org_ext ['msg'] ); 
  590.  
  591. //獲取原大小 
  592. $source = $org_funcs ['create_func'] ( $src_img ); 
  593. $src_w = imagesx ( $source ); 
  594. $src_h = imagesy ( $source ); 
  595.  
  596. if (($option ['width'] && $src_w > $option ['width']) || ($option ['height'] && $src_h > $option ['height'])) 
  597. if ($option ['width'] && $src_w > $option ['width']) 
  598. $widthratio = $option ['width'] / $src_w; 
  599. $resizewidth_tag = true
  600.  
  601. if ($option ['height'] && $src_h > $option ['height']) 
  602. $heightratio = $option ['height'] / $src_h; 
  603. $resizeheight_tag = true
  604.  
  605. if ($resizewidth_tag && $resizeheight_tag) 
  606. if ($widthratio < $heightratio) 
  607. $ratio = $widthratio; 
  608. else 
  609. $ratio = $heightratio; 
  610.  
  611. if ($resizewidth_tag && ! $resizeheight_tag) 
  612. $ratio = $widthratio; 
  613. if ($resizeheight_tag && ! $resizewidth_tag) 
  614. $ratio = $heightratio; 
  615.  
  616. $newwidth = $src_w * $ratio; 
  617. $newheight = $src_h * $ratio; 
  618.  
  619. if (function_exists ( "imagecopyresampled" )) 
  620. $newim = imagecreatetruecolor ( $newwidth, $newheight ); 
  621. imagecopyresampled ( $newim, $source, 0, 0, 0, 0, $newwidth, $newheight, $src_w, $src_h ); 
  622. else 
  623. $newim = imagecreate ( $newwidth, $newheight ); 
  624. imagecopyresized ( $newim, $source, 0, 0, 0, 0, $newwidth, $newheight, $src_w, $src_h ); 
  625. //輸出(保存)圖片 
  626. if (! empty ( $save_img )) 
  627.  
  628. $org_funcs ['save_func'] ( $newim, $save_img ); 
  629. else 
  630. header ( $org_funcs ['header'] ); 
  631. $org_funcs ['save_func'] ( $newim ); 
  632. imagedestroy ( $newim ); 
  633. return array ('flag' => True, 'msg' => '' ); 
  634.  
  635. /** 
  636.  
  637. * 生成水印圖片 
  638. * @param $org_img 原圖像 
  639. * @param $mark_img 水印標記圖像 
  640. * @param $save_img 當其目錄不存在時,會試著創建目錄 
  641. * @param array $option 為水印的一些基本設置包含: 
  642. * x:水印的水平位置,默認為減去水印圖寬度后的值 
  643. * y:水印的垂直位置,默認為減去水印圖高度后的值 
  644. * alpha:alpha值(控制透明度),默認為50 
  645. */ 
  646. public function water_mark($org_img, $mark_img, $save_img = '', $option = array()) 
  647. //檢查圖片 
  648. $org_ext = $this->is_img ( $org_img ); 
  649. if (! $org_ext ['flag']) 
  650. return $org_ext; 
  651. $mark_ext = $this->is_img ( $mark_img ); 
  652. if (! $mark_ext ['flag']) 
  653. return $mark_ext; 
  654. //如果有保存路徑,則確定路徑是否正確 
  655. if (! empty ( $save_img )) 
  656. $f = $this->check_dir ( $save_img ); 
  657. if (! $f ['flag']) 
  658. return $f; 
  659.  
  660. //獲取相應畫布 
  661. $org_funcs = $this->get_img_funcs ( $org_ext ['msg'] ); 
  662. $org_img_im = $org_funcs ['create_func'] ( $org_img ); 
  663.  
  664. $mark_funcs = $this->get_img_funcs ( $mark_ext ['msg'] ); 
  665. $mark_img_im = $mark_funcs ['create_func'] ( $mark_img ); 
  666.  
  667. //拷貝水印圖片坐標 
  668. $mark_img_im_x = 0; 
  669. $mark_img_im_y = 0; 
  670. //拷貝水印圖片高寬 
  671. $mark_img_w = imagesx ( $mark_img_im ); 
  672. $mark_img_h = imagesy ( $mark_img_im ); 
  673.  
  674. $org_img_w = imagesx ( $org_img_im ); 
  675. $org_img_h = imagesx ( $org_img_im ); 
  676.  
  677. //合成生成點坐標 
  678. $x = $org_img_w - $mark_img_w; 
  679. $org_img_im_x = isset ( $option ['x'] ) ? $option ['x'] : $x; 
  680. $org_img_im_x = ($org_img_im_x > $org_img_w or $org_img_im_x < 0) ? $x : $org_img_im_x; 
  681. $y = $org_img_h - $mark_img_h; 
  682. $org_img_im_y = isset ( $option ['y'] ) ? $option ['y'] : $y; 
  683. $org_img_im_y = ($org_img_im_y > $org_img_h or $org_img_im_y < 0) ? $y : $org_img_im_y; 
  684.  
  685. //alpha 
  686. $alpha = isset ( $option ['alpha'] ) ? $option ['alpha'] : 50; 
  687. $alpha = ($alpha > 100 or $alpha < 0) ? 50 : $alpha; 
  688.  
  689. //合并圖片 
  690. imagecopymerge ( $org_img_im, $mark_img_im, $org_img_im_x, $org_img_im_y, $mark_img_im_x, $mark_img_im_y, $mark_img_w, $mark_img_h, $alpha ); 
  691.  
  692. //輸出(保存)圖片 
  693. if (! empty ( $save_img )) 
  694.  
  695. $org_funcs ['save_func'] ( $org_img_im, $save_img ); 
  696. else 
  697. header ( $org_funcs ['header'] ); 
  698. $org_funcs ['save_func'] ( $org_img_im ); 
  699. //銷毀畫布 
  700. imagedestroy ( $org_img_im ); 
  701. imagedestroy ( $mark_img_im ); 
  702. return array ('flag' => True, 'msg' => '' ); 
  703.  
  704.  
  705. /** 
  706.  
  707. * 檢查圖片 
  708. * @param unknown_type $img_path 
  709. * @return array('flag'=>true/false,'msg'=>ext/錯誤信息)  
  710. */ 
  711. private function is_img($img_path) 
  712. if (! file_exists ( $img_path )) 
  713. return array ('flag' => False, 'msg' => "加載圖片 $img_path 失??!" ); 
  714. $ext = explode ( '.', $img_path ); 
  715. $ext = strtolower ( end ( $ext ) ); 
  716. if (! in_array ( $ext, $this->exts )) 
  717. return array ('flag' => False, 'msg' => "圖片 $img_path 格式不正確!" ); 
  718. return array ('flag' => True, 'msg' => $ext ); 
  719.  
  720. /** 
  721.  
  722. * 返回正確的圖片函數 
  723. * @param unknown_type $ext 
  724. */ 
  725. private function get_img_funcs($ext) 
  726. //選擇 
  727. switch ($ext) 
  728. case 'jpg' : 
  729. $header = 'Content-Type:image/jpeg'
  730. $createfunc = 'imagecreatefromjpeg'
  731. $savefunc = 'imagejpeg'
  732. break
  733. case 'jpeg' : 
  734. $header = 'Content-Type:image/jpeg'
  735. $createfunc = 'imagecreatefromjpeg'
  736. $savefunc = 'imagejpeg'
  737. break
  738. case 'gif' : 
  739. $header = 'Content-Type:image/gif'
  740. $createfunc = 'imagecreatefromgif'
  741. $savefunc = 'imagegif'
  742. break
  743. case 'bmp' : 
  744. $header = 'Content-Type:image/bmp'
  745. $createfunc = 'imagecreatefrombmp'
  746. $savefunc = 'imagebmp'
  747. break
  748. default : 
  749. $header = 'Content-Type:image/png'
  750. $createfunc = 'imagecreatefrompng'
  751. $savefunc = 'imagepng'
  752. return array ('save_func' => $savefunc, 'create_func' => $createfunc, 'header' => $header ); 
  753.  
  754. /** 
  755.  
  756. * 檢查并試著創建目錄 
  757. * @param $save_img 
  758. */ 
  759. private function check_dir($save_img) 
  760. $dir = dirname ( $save_img ); 
  761. if (! is_dir ( $dir )) 
  762. if (! mkdir ( $dir, 0777, true )) 
  763. return array ('flag' => False, 'msg' => "圖片保存目錄 $dir 無法創建!" ); 
  764. return array ('flag' => True, 'msg' => '' ); 
  765.  
  766. if (! empty ( $_FILES ['test'] ['tmp_name'] )) 
  767. //例子 
  768. $img = new Img (); 
  769. //原圖 
  770. $name = explode ( '.', $_FILES ['test'] ['name'] ); 
  771. $org_img = 'D:/test.' . end ( $name ); 
  772. move_uploaded_file ( $_FILES ['test'] ['tmp_name'], $org_img ); 
  773. $option = array ('width' => $_POST ['width'], 'height' => $_POST ['height'] ); 
  774. if ($_POST ['type'] == 1) 
  775. $s = $img->resize_image ( $org_img, '', $option ); 
  776. else 
  777. $img->thumb_img ( $org_img, '', $option ); 
  778. unlink ( $org_img ); 

以上所述就是本文的全部內容了,希望大家能夠喜歡。

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb
亚洲第一天堂av| 色综合天天综合网国产成人网| 国产精品日韩欧美综合| 亚洲精品成人久久| 日韩精品在线播放| 夜夜嗨av一区二区三区免费区| 欧美色视频日本高清在线观看| 亚洲色图第三页| 乱亲女秽乱长久久久| 操人视频在线观看欧美| 日韩69视频在线观看| 69影院欧美专区视频| 日韩av免费网站| 狠狠色噜噜狠狠狠狠97| 91亚洲精品久久久久久久久久久久| 日韩成人免费视频| 日韩欧美高清视频| 欧美性猛交xxxx乱大交蜜桃| 国产精品日韩久久久久| 国产日韩欧美自拍| 欧美肥臀大乳一区二区免费视频| 欧美黑人极品猛少妇色xxxxx| 久久精品国产91精品亚洲| 神马国产精品影院av| 久久激情五月丁香伊人| 国产精品自产拍高潮在线观看| 欧美丰满少妇xxxxx做受| 欧美中文字幕精品| 精品女同一区二区三区在线播放| 亚洲精品欧美极品| 日韩中文在线不卡| 久久精品男人天堂| 97超级碰碰碰| 在线观看中文字幕亚洲| 免费91在线视频| 亚洲人成电影在线| 国产精品海角社区在线观看| 亚洲成av人影院在线观看| 国产午夜精品麻豆| 亚洲国产欧美日韩精品| 国产丝袜一区二区三区免费视频| 怡红院精品视频| 亚洲白拍色综合图区| 亚洲欧美日韩国产中文专区| 深夜福利日韩在线看| 国产成人精品久久二区二区91| 欧美日韩亚洲系列| 亚洲国产天堂久久综合网| 欧美视频在线观看 亚洲欧| 精品二区三区线观看| 最近2019中文字幕大全第二页| 大胆欧美人体视频| 26uuu亚洲国产精品| 国产精品一区二区女厕厕| 亚洲天堂av在线免费观看| 在线播放日韩欧美| 日韩精品在线私人| 高清欧美电影在线| 91天堂在线观看| 亚洲一区二区免费| 欧美日韩高清在线观看| 欧美成人精品影院| 国产精品18久久久久久首页狼| 国产精品久久久久久久一区探花| 97视频人免费观看| 日韩av网站大全| 欧美一级淫片aaaaaaa视频| 欧美激情免费看| 国产精品扒开腿做爽爽爽的视频| 久久久噜噜噜久久中文字免| 亚洲黄色免费三级| 在线精品国产成人综合| 亚洲欧洲在线免费| 91亚洲国产精品| 色伦专区97中文字幕| 亚洲aⅴ日韩av电影在线观看| 国产视频亚洲视频| 亚洲第一视频在线观看| 国产精品劲爆视频| 亚洲第一色在线| 亚洲一区二区在线| 亚洲欧美中文另类| 亚洲一区二区免费在线| 国产亚洲精品美女久久久久| 亚洲欧美日韩中文在线制服| 91国自产精品中文字幕亚洲| 中国人与牲禽动交精品| 91精品视频免费看| 欧美激情免费看| 日本中文字幕久久看| 日韩av网址在线观看| 欧美性极品xxxx做受| 日韩中文字幕在线播放| 欧美在线观看www| 精品无人区乱码1区2区3区在线| 国产不卡在线观看| 精品小视频在线| 久久这里只有精品视频首页| 国产精品一区二区三区毛片淫片| 亚洲人成电影网站色…| 国产999在线| 国产91精品青草社区| 国产日韩欧美在线看| 麻豆成人在线看| 欧美一区二区三区图| 亚洲网在线观看| 最近2019中文字幕mv免费看| 国产亚洲欧洲高清一区| 韩国欧美亚洲国产| 亚洲视频精品在线| 国产精品久久电影观看| 在线免费观看羞羞视频一区二区| 亚洲国产精品国自产拍av秋霞| 成人午夜激情免费视频| 日韩中文字幕免费| 国产午夜精品美女视频明星a级| 亚洲日本aⅴ片在线观看香蕉| 日韩一区二区三区国产| 亚洲天堂男人的天堂| 久久成人18免费网站| 亚洲一级片在线看| 97超级碰碰人国产在线观看| 美女视频久久黄| 国产欧美精品一区二区三区介绍| 97精品在线观看| 欧美肥臀大乳一区二区免费视频| 国产精品1区2区在线观看| 精品福利樱桃av导航| 久久久成人的性感天堂| 精品久久久久久久中文字幕| 国产精品xxx视频| 国产日韩精品在线| 91在线免费网站| 亚洲国产欧美日韩精品| 国产一区二区三区在线视频| 国产精品18久久久久久首页狼| 日韩电影中文字幕在线| 4438全国成人免费| 国产精品极品美女在线观看免费| 色噜噜国产精品视频一区二区| 在线看日韩欧美| 国产精品青草久久久久福利99| 亚洲最大的免费| 国产成人精品午夜| 国产一区二区在线播放| 日韩av色在线| 欧美激情一区二区三区成人| 97久久国产精品| 97视频免费在线观看| 国产精品观看在线亚洲人成网| 日韩免费精品视频| 在线观看欧美日韩| 永久免费看mv网站入口亚洲| 日韩高清中文字幕| 91高清视频免费观看| 精品国产乱码久久久久久天美| 久久久久久久久久久国产| 欧美性xxxx极品hd欧美风情| 久久久久久久久久久免费精品| 91香蕉国产在线观看| 亚洲午夜未删减在线观看| 亚洲男子天堂网| 成人美女免费网站视频| 亚洲精品国产综合区久久久久久久|