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 /** * 获取百度的热词 * @user 小杰 * @from http://www.isharey.com/?p=354 * @return...

PHP array_flip() 删除重复数组元素专用函数

说明   array array_flip ( array trans )   array_flip() 返回一个反转后的 array,例如 trans 中的键名变成了值,而 trans...

帖几个PHP的无限分类实现想法~

1、做网站的一般都会遇到处理分类的问题, 偶来帖几个处理无限分类的例子数据库的结构很简单: id, fatcher_id, name, ........

php通过array_push()函数添加多个变量到数组末尾的方法

本文实例讲述了php通过array_push()函数添加多个变量到数组末尾的方法。分享给大家供大家参考。具体分析如下: php通过array_push()函数添加多个变量到数组末尾,ar...

PHP 使用二进制保存用户状态的实例

前言 用户状态保存是一个很常见的需求,一般用来保存用户状态的方式是在数据库表中创建多个字段来存储相应的用户状态,比如要保存用户是否绑定了手机号和QQ,则需要2个字段(mobile,qq)...