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

yipeiwu_com7年前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简单生成随机数的方法。分享给大家供大家参考。具体如下: <?php /** *生成随机数,可用户验证码 *@param */ function...

php实现二进制和文本相互转换的方法

本文实例讲述了php实现二进制和文本相互转换的方法。分享给大家供大家参考。具体如下: 这段代码包含两个函数,bin2text,二进制转换为文本,text2bin,文本转换成二进制 &...

如何在smarty中增加类似foreach的功能自动加载数据

在smarty中使用自定义插件来加载数据(见:编写Smarty插件在模板中直接加载数据的详细介绍),在使用的时候还是感觉不够方便,灵机一动就想写成类似foreach那种标签:第一步:在S...

php页面缓存方法小结

本文实例总结了php页面缓存方法。分享给大家供大家参考。具体分析如下: 在php页面缓存主要用到的是ob系列函数,如ob_start(),ob_end_flush(),ob_get_co...

php自动给网址加上链接的方法

本文实例讲述了php自动给网址加上链接的方法。分享给大家供大家参考。具体实现方法如下: 这里自动匹配页面里的网址,包含http,ftp等,自动给网址加上链接 function tex...