本文实例讲述了PHP截取指定图片大小的方法。分享给大家供大家参考。具体分析如下:
imagecopyresampled($newim,$im,7,174,120,42,$new_img_width,$new_img_height); // 原始尺寸 120 x 42
imagecopyresampled($newim,100,30,500,$new_img_height); // 图截出来后放到 500 x 500
imagecopyresampled($newim,10,$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 ,要开始画多高(在此程式目前是指定截图的大小)
/ 读取图档 /
$im = imagecreatefromjpeg($filename);
/ 图片要截多少,长/宽 /
$new_img_width = 120;
$new_img_height = 42;
/ 先建立一个 新的空白图档 /
$newim = imagecreate($new_img_width,$new_img_height);
// 输出图要从哪边开始 x,y ,原始图要从哪边开始 x,y ,要画多大 x,y(resize),要抓多大 x,y
imagecopyresampled($newim,$new_img_height);
/ 放大成 500 x 500 的图 /
// imagecopyresampled($newim,$new_img_height);
/ 将图印出来 /
imagejpeg($newim);
/ 资源回收 /
imagedestroy($newim);
imagedestroy($im);
希望本文所述对大家的PHP程序设计有所帮助。
原文链接:https://www.f2er.com/php/23123.html