PHP 이미지 크기 조정 기능: 너비에 따라 비례적으로 이미지 크기를 조정합니다.

WBOY
풀어 주다: 2016-07-25 08:51:34
원래의
1071명이 탐색했습니다.
  1. /*

  2. 限定图片宽度等比缩放图片的简单函数,程序不覆盖图片原图。
  3. 图片等比缩放函数参数说明:
  4. $imgsrc 原图片地址可以是远程图片也可以是服务器上的路径。
  5. $newimgname 缩小后图片的名称
  6. $kuan 限定图片的宽度,如果超过这个宽度图片才进行缩小操作。

  7. 举例:

  8. $imgsrc = "http://www.xingzuo51.com/upload/20141116/20141116010041-0.jpg";//可以是远程图片。
  9. $newimgname = "upload/20141116/000.jpg"; //本地路径前面不要加“/”
  10. $kuan = 600;
  11. img_suofang($imgsrc,$newimgname,$kuan); //调用图片缩小函数
  12. */
  13. function img_suofang($imgsrc,$newimgname,$kuan){
  14. $info = getimagesize($imgsrc); //取得图片信息
  15. list($w,$h) = $info;
  16. $bl = ($h/$w);
  17. // print_r($info);
  18. // die();
  19. // $type = $info[2];
  20. // die($type);
  21. if($w>$kuan){
  22. $k = $kuan;
  23. $g = ($k*$bl);
  24. switch($info[2]){
  25. case 1:
  26. $im = imagecreatefromgif($imgsrc);
  27. $n = imagecreatetruecolor($k,$g);
  28. imagecopyresampled($n,$im,0,0,0,0,$k,$g,$w,$h);
  29. $type = ".gif";
  30. imagegif($n,$newimgname."$type");
  31. break;
  32. case 2:
  33. $im = imagecreatefromjpeg($imgsrc);
  34. $n = imagecreatetruecolor($k,$g);
  35. imagecopyresampled($n,$im,0,0,0,0,$k,$g,$w,$h);
  36. $type = ".jpg";
  37. imagejpeg($n,$newimgname.$type);
  38. break;
  39. case 3:
  40. $im = imagecreatefrompng($imgsrc);
  41. $n = imagecreatetruecolor($k,$g);
  42. imagecopyresampled($n,$im,0,0,0,0,$k,$g,$w,$h);
  43. $type = ".png";
  44. imagepng($n,$newimgname.$type);
  45. break;
  46. default:
  47. die("No jpg Image");
  48. break;
  49. }

  50. if ($im && $n) {

  51. echo "生成缩略图成功.
    ";
  52. }else{
  53. echo "生成缩略图失败。";
  54. }
  55. imagedestroy( $im );
  56. imagedestroy( $n );
  57. }else{
  58. echo "图片未超过指定宽度,无需进行缩放。";
  59. }
  60. }

复制代码


원천:php.cn
본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
인기 튜토리얼
더>
최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿