php GD 截取图片 自动截取为规定大小且图片的中间部分

直接上码:

<?php
function file_group($filelj,$width,$height){
 $suijishu = rand(100,999);                            //取一个100--999的随机数;
 $xfilej=time().$suijishu.substr($filelj,7,200);
 $fileljp=$filelj;//图片路径,根据实际情况修改,要相对路径!!!!!!!!!!!!!
 $image=$fileljp;//图片路径 
 $img=getimagesize($image);//载入图片的函数   得到图片的信息
 switch($img[2]){//判断图片的类型
  case 1:
   $im=@imagecreatefromgif($image);//载入图片,创建新图片
  break;
  case 2:
   $im=@imagecreatefromjpeg($image);
  break;
  case 3:
   $im=@imagecreatefrompng($image);
  break;
 }
 $width_y=$img[0];
 $height_y=$img[1];
 if($width_y>$height_y){//如果宽大于高
  $width_y_y=$height_y;
  $height_y_y=$height_y;
  $jq_x=($width_y-$height_y)/2;
  $jq_y=0;
 }else if($width_y<$height_y){//如果宽小于高
  $height_y_y=$width_y;
  $width_y_y=$width_y;
  $jq_x=0;
  $jq_y=($height_y-$width_y)/2;
 }else if($width_y=$height_y){//如果宽小于高
  $width_y_y=$width_y;
  $height_y_y=$height_y;
  $jq_x=0;
  $jq_y=0;
 }
 $newim=imagecreatetruecolor($width,$height); //剪切图片第一步,建立新图像 x就是宽 ,y就是高//图片大小
 imagecopyresampled($newim,$im,0,0,$jq_x,$jq_y,$width,$height,$width_y_y,$height_y_y);//这个函数不失真
 imagejpeg($newim, "../grouppic/".$xfilej, 100);//加个100可以更清晰
 //截取图片       此处为调用页面的grouppic文件的相对路径
 return "/admin/grouppic/".$xfilej;//返回因为绝对路径
}

file_group("admin/pic/q.jpg",100,134);
file_group("admin/pic/q.jpg",160,214);
file_group("admin/pic/q.jpg",400,536);

?>

转载于:https://my.oschina.net/bufenye/blog/51937

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值