微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

php 裁剪图片、缩放图片的函数示例

面向编程之家 jb51.cc编程,下面跟随编程之家 jb51.cc的小编来举个例子吧。
经测试代码如下:

/**
 * 裁剪、缩放图片
 *
 * @author 编程之家 jb51.cc jb51.cc
 * @param string $src_image 原始图
 * @param string $dst_path 裁剪后的图片保存路径
 * @param int $dst_x 新图坐标x
 * @param int $dst_y 新图坐标y
 * @param int $src_x 原图坐标x
 * @param int $src_y 原图坐标y
 * @param int $dst_w 新图宽度
 * @param int $dst_h 新图高度
 * @param int $src_w 原图宽度
 * @param int $src_h 原图高度
 */
function imageCropAndResize($src_image,$dst_path,$dst_x,$dst_y,$src_x,$src_y,$dst_w,$dst_h,$src_w,$src_h) {
 if (function_exists('imagecreatefromstring')) {
  $src_img = imagecreatefromstring(file_get_contents($src_image));
 } else {
  return false;
 }
 if (function_exists('imagecopyresampled')) {
  $new_img = imagecreatetruecolor($dst_w,$dst_h);
  imagecopyresampled($new_img,$src_img,$src_h);
 } elseif (function_exists('imagecopyresized')) {
  $new_img = imagecreate($dst_w,$dst_h);
  imagecopyresized($new_img,$src_h);
 } else {
  return false;
 }
 switch (getFileSuffix($dst_path)) {
  case 'png':
   if (function_exists('imagepng') && imagepng($new_img,$dst_path)) {
    ImageDestroy($new_img);
    return true;
   } else {
    return false;
   }
   break;
  case 'jpg':
  default:
   if (function_exists('imagejpeg') && imagejpeg($new_img,$dst_path)) {
    ImageDestroy($new_img);
    return true;
   } else {
    return false;
   }
   break;
  case 'gif':
   if (function_exists('imagegif') && imagegif($new_img,$dst_path)) {
    ImageDestroy($new_img);
    return true;
   } else {
    return false;
   }
   break;
 }
} 

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐