当前位置:首页 > 技术 > 正文内容

php程序图片裁剪功能

醉清风2019-08-30技术5587
/**
 * 裁剪图片
 * $src_img 图片源文件
 * $dst_w 目标图片宽
 * $dst_h 目标图片高
 * $catid ,$id 该文章id栏目id
 */
function get_thumb_img($src_img,$dst_w,$dst_h,$catid,$id){
    //$src_img = ""; // 原图
 
    //$dst_w = 1240;
    //$dst_h = 700;
 
    list($src_w,$src_h)=getimagesize($src_img);  // 获取原图尺寸 
    $dst_scale = $dst_h/$dst_w; //目标图像长宽比
    $src_scale = $src_h/$src_w; // 原图长宽比 
    if ($src_scale>=$dst_scale){  // 过高
        $w = intval($src_w);
        $h = intval($dst_scale*$w);
     
        $x = 0;
        $y = ($src_h - $h)/3;
    } else { // 过宽
        $h = intval($src_h);
        $w = intval($h/$dst_scale);
     
        $x = ($src_w - $w)/2;
        $y = 0;
    }
     
    // 剪裁
    $source=imagecreatefromjpeg($src_img);
    $croped=imagecreatetruecolor($w, $h);
    imagecopy($croped, $source, 0, 0, $x, $y, $src_w, $src_h);
     
    // 缩放
    $scale = $dst_w / $w;
    $target = imagecreatetruecolor($dst_w, $dst_h);
    $final_w = intval($w * $scale);
    $final_h = intval($h * $scale);
    imagecopyresampled($target, $croped, 0, 0, 0, 0, $final_w,$final_h, $w, $h);
     
    // 保存
    imagejpeg($target, "/thumb/$catid-$id.jpg");
    imagedestroy($target);
}

$catid,$id用来命名生成图片的名称,这样就不会重复生成,保存路径可以自己设定。

扫描二维码至手机访问

扫描二维码推送至手机访问。

版权声明:本文由红柚酱发布,如需转载请注明出处。

转载请注明出处:https://www.notenet.cn/post/74.html

标签: phpredis

相关文章

JavaScript动态显示可输入的字数提示还可以输入的字数

JavaScript动态显示可输入的字数提示还可以输入的字数

<!DOCTYPE html> <html> <head>     <meta charse...

php-fpm进程数管理

php-fpm进程数管理

PHP-FPM先来了解一些名词概念:CGI是Common Gateway Interface(通用网管协议),用于让交互程序和Web服务器通信的协议。它负责处理URL的请求,启动一个进程,将客户端发送...

Linux磁盘空间满了,找不到磁盘空间占用文件

Linux磁盘空间满了,找不到磁盘空间占用文件

一、现象:Linux主机:用df -hT 查看磁盘占用已经满了,但是用du -sh * 又找不到是哪些文件目录占满了磁盘。二、解决,lsoflsof | grep del...

Centos7系统更换yum源镜像为国内镜像教程

Centos7系统更换yum源镜像为国内镜像教程

镜像源 搜狐:http://mirrors.sohu.com/网易:http://mirrors.163.com/阿里云:http://mirrors.aliyun.com/以中科大源为例:https...

JS控制文本框禁止输入特殊字符

JS控制文本框禁止输入特殊字符

JS 控制不能输入特殊字符<input type="text" class="domain" onkeyup="t...