首页 > 语言 > PHP > 正文

PHP截取指定图片大小实例代码

2024-09-04 11:44:33
字体:
来源:转载
供稿:网友

 

大概该有的注解都写好了,Source code 放在此篇最下面,解释一下主要参数即可:

imagecopyresampled($newim, $im, 0, 0, 7, 174, 120, 42, $new_img_width, $new_img_height); // 原始尺寸 120 x 42 

imagecopyresampled($newim, $im, 0, 0, 100, 30, 500, 500, $new_img_width, $new_img_height); // 图截出来后放到 500 x 500 

imagecopyresampled($newim, $im, 0, 0, 100, 30, 10, 10, $new_img_width, $new_img_height); // 图截出来后缩小到 10 x 10 

大概主要是这个 function 的操作而已,主要只看第一个原尺寸的那个参数对照就好了,下述是 imagecopyresampled 的参数,一个一个对照如下:

$newim: imagecreate($new_img_width, $new_img_height); 建立的空白图层 

$im: imagecreatefromjpeg($filename); 把原本的图片读进来 

0: 输出图要从哪边开始的 x 点(图片输出的点是可以指定的,没指定到的位置就会是你 create 的图层颜色或图)

0: 输出图要从哪边开始的 y 点(同上)

7: 原始图要从哪边开始 x (指定要从哪个 x 点开始截取)

174: 原始图要从哪边开始 y (指定要从哪个点开始截取,截取区块大小由下面两个参数去定)

120: 截图要截多大 width ,从上面的指定的位置,开始截取 120px 宽(如果要放大缩小也是由此处决定)

42: 截图要截多大 height ,从上面的指定的位置,开始截取 42px 高(如果要放大缩小也是由此处决定)

$new_img_width: 这是新的图,从上面写的第二组参数 0, 0 ,要开始画多宽(在此程式目前是指定截图的大小)

$new_img_height: 这是新的图,从上面的第二组参数 0, 0 ,要开始画多高(在此程式目前是指定截图的大小)

PHP实例代码如下:

  1. header("Content-type: image/jpeg");  
  2.  
  3.  
  4. $filename = 'book_rabbit_rule.jpg'
  5. /* 读取图档 */ 
  6. $im = imagecreatefromjpeg($filename);  
  7. /* 图片要截多少, 长/宽 */ 
  8. $new_img_width = 120; 
  9. $new_img_height = 42;  
  10. /* 先建立一个 新的空白图档 */ 
  11. $newim = imagecreate($new_img_width$new_img_height);  
  12. // 输出图要从哪边开始 x, y ,原始图要从哪边开始 x, y ,要画多大 x, y(resize) , 要抓多大 x, y 
  13. //开源代码Vevb.com 
  14. imagecopyresampled($newim$im, 0, 0, 7, 174, 120, 42, $new_img_width$new_img_height);  
  15. /* 放大成 500 x 500 的图 */ 
  16. // imagecopyresampled($newim, $im, 0, 0, 100, 30, 500, 500, $new_img_width, $new_img_height);  
  17. /* 将图印出来 */ 
  18. imagejpeg($newim);  
  19. /* 资源回收 */ 
  20. imagedestroy($newim); 
  21. imagedestroy($im);

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表