PHP实现原比例生成缩略图的方法

这篇文章主要介绍了PHP实现原比例生成缩略图的方法,涉及PHP的图形操作及数学运算相关技巧,非常简单实用,需要的朋友可以参考下。

本文实例讲述了PHP实现原比例生成缩略图的方法,分享给大家供大家参考,具体如下:

  1. <?php
  2. $image = "jiequ.jpg"; // 原图
  3. $imgstream = file_get_contents($image);
  4. $im = imagecreatefromstring($imgstream);
  5. $x = imagesx($im);//获取图片的宽
  6. $y = imagesy($im);//获取图片的高
  7. // 缩略后的大小
  8. $xx = 140;
  9. $yy = 200;
  10. if($x>$y){
  11. //图片宽大于高
  12. $sx = abs(($y-$x)/2);
  13. $sy = 0;
  14. $thumbw = $y;
  15. $thumbh = $y;
  16. } else {
  17. //图片高大于等于宽
  18. $sy = abs(($x-$y)/2.5);
  19. $sx = 0;
  20. $thumbw = $x;
  21. $thumbh = $x;
  22. }
  23. if(function_exists("imagecreatetruecolor")) {
  24. $dim = imagecreatetruecolor($yy, $xx); // 创建目标图gd2
  25. } else {
  26. $dim = imagecreate($yy, $xx); // 创建目标图gd1
  27. }
  28. imageCopyreSampled ($dim,$im,0,0,$sx,$sy,$yy,$xx,$thumbw,$thumbh);
  29. header ("Content-type: image/jpeg");
  30. imagejpeg ($dim, false, 100);
  31. ?>