- 注册时间
- 2011-7-7
- 最后登录
- 2011-12-21
- 阅读权限
- 100
- 积分
- 179
- 精华
- 1
- 帖子
- 82
  
|
发表于 2011-7-12 17:22:32
|显示全部楼层
· 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 的参数, 一个一个对照如下:
1. $newim: imagecreate($new_img_width, $new_img_height); 建立的空白图层
2. $im: imagecreatefromjpeg($filename); 把原本的图片读进来
3. 0: 输出图要从哪边开始的 x 点(图片输出的点是可以指定的, 没指定到的位置就会是你 create 的图层颜色 或 图)
4. 0: 输出图要从哪边开始的 y 点(同上)
5. 7: 原始图要从哪边开始 x(指定要从哪个 x 点开始截取)
6. 174: 原始图要从哪边开始 y(指定要从哪个点开始截取, 截取区块大小由下面两个参数去定)
7. 120: 截图要截多大 width (从上面的指定的位置, 开始截取 120px 宽)(如果要放大缩小也是由此处决定)
8. 42: 截图要截多大 height (从上面的指定的位置, 开始截取 42px 高)(如果要放大缩小也是由此处决定)
9. $new_img_width: 这是新的图, 从上面写的第二组参数 0, 0, 要开始画多宽(在此程序目前是指定截图的大小)
10. $new_img_height: 这是新的图, 从上面的第二组参数 0, 0, 要开始画多高(在此程序目前是指定截图的大小)
以上的资料是由一位网友提供的的,但是偶觉得有一些参数讲的比较抽象,还有一些注意点没有涉及到。我在这里在补充一下,补充的不够完整,热心的网友可以给我留言;
1. $newim 和 $im 不再补充,同上!
2. 0 , 0 :是指 $newim 图层的(0,0)坐标开始!也就是说 输出图 从这个坐标开始横向和纵向平铺;
【注意】0 , 0 坐标在 $newim 图层 的最左上角。
3. 7 ,174 是指 $im 的图层 (7,174) 坐标开始!也就是说 剪切的部分 从这个坐标开始横向和纵向剪切。
4. 120, 42 :输出图 将从坐标 (0 ,0) 2中设置坐标,横向平铺120 ,纵向 42;
5, $new_img_width, $new_img_height :剪切图 将从坐标 (7 ,174) 3中设置坐标,横向剪切$new_img_width, ,纵向剪切 $new_img_height .
【注意】
1 . 参数中的两个坐标参数的原点(0 , 0) 都是在最左上角。
2 . 剪切图的值( $new_img_width, $new_img_height ),确定需要剪切图片的内容大小。
3. 输出图的值(120, 42),确定剪切出来的内容,应该以多少宽,多少高显示,如果这里 这里的宽高小于剪切图的宽高。那么得到就是一张缩略图,反之,就是一张放大图。
4.$newimg 创建的是输出图的背景。如果宽高少与输出图的宽高 ,那么图片将显示不完整。
|
|