当前位置:首页 > PHP教程 > php图像处理 > 列表

php如何使用imagecopyresampled(图像处理函数)?

发布:smiling 来源: PHP粉丝网  添加日期:2022-06-08 10:37:00 浏览: 评论:0 

php如何使用imagecopyresampled(图像处理函数)?下面本篇文章给大家详解一下php图像处理函数imagecopyresampled用法,有一定的参考价值,有需要的朋友可以参考一下,希望对大家有所帮助。

php图像处理函数imagecopyresampled用法

语法:

bool imagecopyresampled ( resource $dst_image , resource $src_image , int $dst_x , int $dst_y , int $src_x , int $src_y , int $dst_w , int $dst_h , int $src_w , int $src_h )

参数:

dst_image 目标图象连接资源。

src_image 源图象连接资源。

dst_x 目标 X 坐标点。

dst_y 目标 Y 坐标点。

src_x 源的 X 坐标点。

src_y 源的 Y 坐标点。

dst_w 目标宽度。

dst_h 目标高度。

src_w 源图象的宽度。

src_h 源图象的高度。

成功时返回 TRUE, 或者在失败时返回 FALSE。

案例

1、图像裁减

  1. <?php 
  2.  
  3.   $targ_w = $targ_h = 150; // 设置目标宽度与高度 
  4.  
  5.   $jpeg_quality = 90; // 图片质量90,满分为100 
  6.  
  7.   $src = 'demo_files/pool.jpg'// 被处理的图片 
  8.  
  9.   $img_r = imagecreatefromjpeg($src); // 获取原图 
  10.  
  11.   $dst_r = ImageCreateTrueColor( $targ_w$targ_h ); // 获取新图 
  12.  
  13.   imagecopyresampled($dst_r,$img_r,0,0,$_POST['x'],$_POST['y'], 
  14.  
  15.   $targ_w,$targ_h,$_POST['w'],$_POST['h']); // 目标图 源图 目标X坐标点 目标Y坐标点 源的X坐标点 源的Y坐标点 目标宽度 目标高度 源图宽度 源图高度 
  16.  
  17.   header('Content-type: image/jpeg'); 
  18.  
  19.   imagejpeg($dst_r,null,$jpeg_quality); // 输出图象到浏览器或文件 
  20.  
  21. ?> 

2、重新取样

  1. <?php 
  2.  
  3. // 源文件 
  4.  
  5. $filename = '1.jpg'
  6.  
  7. // 设置最大宽高 
  8.  
  9. $width = 400; 
  10.  
  11. $height = 400; 
  12.  
  13. // Content type 
  14.  
  15. header('Content-Type: image/jpeg'); 
  16.  
  17. // 获取新尺寸 
  18.  
  19. list($width_orig$height_orig) = getimagesize($filename); 
  20.  
  21. $ratio_orig = $width_orig/$height_orig
  22.  
  23. if ($width/$height > $ratio_orig) { 
  24.  
  25.   $width = $height*$ratio_orig
  26.  
  27. else { 
  28.  
  29.   $height = $width/$ratio_orig
  30.  
  31.  
  32. // 重新取样 
  33.  
  34. $image_p = imagecreatetruecolor($width$height); 
  35.  
  36. $image = imagecreatefromjpeg($filename); 
  37.  
  38. imagecopyresampled($image_p$image, 0, 0, 0, 0, $width$height$width_orig$height_orig); 
  39.  
  40. // 输出 
  41.  
  42. imagejpeg($image_p, null, 100); 
  43.  
  44. ?> 

附上上传图片的三种思路

选择图片,提交表单,服务器统一处理上传,保存路径

选择图片,上传,获取路径,提交表单,保存路径

选择图片,上传到服务器,通过某种途径获取到服务器的图片,保存到本地

Tags: imagecopyresampled

分享到: