Heim > Backend-Entwicklung > PHP-Tutorial > php gd库实现服务端图片裁剪与缩略图

php gd库实现服务端图片裁剪与缩略图

WBOY
Freigeben: 2016-07-25 09:13:14
Original
949 Leute haben es durchsucht

例子,php中裁剪图片主要使用gd库的imagecopyresampled方法。 裁剪图片的例子: php裁剪图片

最终裁剪成的图片:php裁剪图片2

其中虚线框内就是要裁剪出来的图片,最终保存成100宽的图片。 代码:

  1. $src_path = '1.jpg';
  2. //创建源图的实例
  3. $src = imagecreatefromstring(file_get_contents($src_path));
  4. //裁剪开区域左上角的点的坐标
  5. $x = 100;
  6. $y = 12;
  7. //裁剪区域的宽和高
  8. $width = 200;
  9. $height = 200;
  10. //最终保存成图片的宽和高,和源要等比例,否则会变形
  11. $final_width = 100;
  12. $final_height = round($final_width * $height / $width);
  13. //将裁剪区域复制到新图片上,并根据源和目标的宽高进行缩放或者拉升
  14. $new_image = imagecreatetruecolor($final_width, $final_height);
  15. imagecopyresampled($new_image, $src, 0, 0, $x, $y, $final_width, $final_height, $width, $height);
  16. //输出图片
  17. header('Content-Type: image/jpeg');
  18. imagejpeg($new_image);
  19. imagedestroy($src);
  20. imagedestroy($new_image);
复制代码

其实如果坐标为(0,0),裁剪区域的宽高和源图的宽高一致,那么就是生成缩略图的功能了。 总结 这里只列出了php裁剪图片的示例,属于服务端的功能。 如果客户端有需要,推荐一个jquery的插件imageAreaSelect,兼容性非常不错。



Quelle:php.cn
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage