PHP图片处理之使用imagecopyresampled函数裁剪图片例子

yipeiwu_com6年前PHP代码库

图片裁剪是指在一个大的背景图片中裁剪出一张指定区域的图片,常见的应用是在用户设置个人头像时,可以从上传的图片中,裁剪出一个合适的区域作为自己的个人头像图片。图像裁剪和图片缩放的相似,所以也是借助imagecopyresampled()函数去实现这个功能。同样也是以JPEG图片格式为例,声明一个图像裁剪函数cut(),代码如下所示:

复制代码 代码如下:

<?php
    //在一个大的背景图片中裁剪出指定区域的图片,以jpeg图片格式为例
    function cut($filename,$x,$y,$width,$height){
        $back = imagecreatetruecolor($width, $height);
        //创建一个可以保存裁剪后图片的资源
        $cutimg = imagecreatetruecolor($width, $height);
        //使用imagecopyresampled()函数对图片进行裁剪
        imagecopyresampled($cutimg,$back,0,0,$x,$y,$width,$height,$width,$height);
        //保存裁剪 后的图片,如果不想覆盖图片可以为裁剪后的图片加上前缀
        imagejpeg($cutimg,$filename);
        imagedestroy($cutimg);
        imagedestroy($back);
    }
 
    cut("brophp.jpg", 50, 50, 200, 200);
?>

相关文章

PHP环形链表实现方法示例

本文实例讲述了PHP环形链表实现方法。分享给大家供大家参考,具体如下: 环形链表是一种链式存储结构,类似于单链表。区别是环形链表的尾节点指向头节点。 从而形成一个环, 环形链表是一种非常...

使ecshop模板中可引用常量的实现方法

比如$smarty.const.'常量',这个就不能用。 其实模板引擎原理上并不复杂,只是把一些模板标签替换为php中的函数,变量,语法结构罢了。 这次要在ecshop模板中加入引用常量...

php反射学习之不用new方法实例化类操作示例

本文实例讲述了php反射学习之不用new方法实例化类操作。分享给大家供大家参考,具体如下: 上一篇php反射入门示例简单介绍了 php 反射的几个常见类的使用方法,但是用反射能做些什么,...

php中通过Ajax如何实现异步文件上传的代码实例

1:取得file对象 2:读取2进制数据 3:模拟http请求,把数据发送出去(这里通常比较麻烦) 在forefox下使用 xmlhttprequest 对象的 sendasbinary...

php 前一天或后一天的日期

复制代码 代码如下:<?php     date_default_timezone_set('PRC'); //默认时区 ...