用户名:
密 码: 记住
您当前的位置:首页 > 网络编程 > php教程

php gd库函数生成高清缩略图程序

时间:2015-01-23  来源:西部数据  作者:西部数据

gd库是php教程中一个处理图像的专用库,他可以方便快捷的处理大多数据处理,它提供了大量的图片处理函数,下面我们就利用gd库的函数来生成缩略图.

测试代码如下:

  1. <?php  
  2. include('resizeimage.php');  
  3. if(!emptyempty($_post)){  
  4. echo($filename.".jpg?cache=".rand(0,999999));  
  5. }  
  6. ?>  
  7. <form name="test" action="?submit=true" enctype="multipart/form-data" method="post" >  
  8. <input type="file" name="image" size="50" value="浏览"><p>  
  9. <input type="submit" value="上传图片">  
  10. </form>  

resizeimage.php 文件代码如下:

  1. <?php  
  2. $filename="image.thumb";  
  3. // 生成图片的宽度  
  4. $resizewidth=400;  
  5. // 生成图片的高度  
  6. $resizeheight=400; 
  7.  
  8. function resizeimage($im,$maxwidth,$maxheight,$name){  
  9. $width = imagesx($im);  
  10. $height = imagesy($im);  
  11. if(($maxwidth && $width > $maxwidth) || ($maxheight && $height > $maxheight)){  
  12. if($maxwidth && $width > $maxwidth){  
  13. $widthratio = $maxwidth/$width;  
  14. $resizewidth=true;  
  15. }  
  16. if($maxheight && $height > $maxheight){  
  17. $heightratio = $maxheight/$height;  
  18. $resizeheight=true;  
  19. }  
  20. if($resizewidth && $resizeheight){  
  21. if($widthratio < $heightratio){  
  22. $ratio = $widthratio;  
  23. }else{  
  24. $ratio = $heightratio;  
  25. }  
  26. }elseif($resizewidth){  
  27. $ratio = $widthratio;  
  28. }elseif($resizeheight){  
  29. $ratio = $heightratio;  
  30. }  
  31. $newwidth = $width * $ratio;  
  32. $newheight = $height * $ratio;  
  33. if(function_exists("imagecopyresampled")){  
  34. $newim = imagecreatetruecolor($newwidth$newheight);  
  35. imagecopyresampled($newim$im, 0, 0, 0, 0, $newwidth$newheight$width$height);  
  36. }else{  
  37. $newim = imagecreate($newwidth$newheight);  
  38. imagecopyresized($newim$im, 0, 0, 0, 0, $newwidth$newheight$width$height);  
  39. }  
  40. imagejpeg ($newim,$name . ".jpg");  
  41. imagedestroy ($newim);  
  42. }else{  
  43. imagejpeg ($im,$name . ".jpg");  
  44. }  
  45.  
  46. if($_files['image']['size']){  
  47. if($_files['image']['type'] == "image/pjpeg"){  
  48. $im = imagecreatefromjpeg($_files['image']['tmp_name']);  
  49. }elseif($_files['image']['type'] == "image/x-png"){  
  50. $im = imagecreatefrompng($_files['image']['tmp_name']);  
  51. }elseif($_files['image']['type'] == "image/gif"){  
  52. $im = imagecreatefromgif($_files['image']['tmp_name']);  
  53. }  
  54. if($im){  
  55. if(file_exists("$filename.jpg")){  
  56. unlink("$filename.jpg");  
  57. }  
  58. resizeimage($im,$resizewidth,$resizeheight,$filename);  
  59. imagedestroy ($im);  
  60. }  
  61. //开源代码phpfensi.com 
  62. ?> 
来顶一下
返回首页
返回首页
推荐资讯
WiFi太不安全:7岁女孩11分钟内入侵公共网络 WiFi太不安全:7岁女孩11分钟内入侵近期刚刚发布研究说WiFi网络能获得人们手机里多少私人信息,
不服跑个分?人工智能也出现“刷分”乱象 不服跑个分?人工智能也出现“刷分2014年,人工智能领域突然爆发,成为了科研和科技创业的热门
相关文章
栏目更新
栏目热门