欢迎来到全国社交动力网络科技有限公司
建站资讯

当前位置: 首页 > 建站资讯 > 建站教程 > PHP教程

php-gd怎样实现图片裁剪拉伸_php-gd不按比例裁剪缩放

作者:商城网站建设 来源:php入门基础教程日期:2025-10-12
使用PHP-GD可通过imagecopyresampled()实现图片裁剪与强制拉伸。1. 创建源图像资源并获取尺寸;2. 设定裁剪区域(x,y,width,height);3. 创建目标画布(指定宽高,如200×150);4. 调用imagecopyresampled()将源区域拉伸填充至目标画布,参数中源与目标尺寸不同即实现非等比变形。示例代码包含JPEG处理流程,支持自定义裁剪起点与输出尺寸。注意事项:操作会导致图像变形,适用于固定尺寸展示场景;需确保GD库启用;根据图片类型选用imagecreatefrompng/gif等函数;若仅整体拉伸,源区域设为全图即可。核心在于灵活配置函数参数以实现任意裁剪拉伸效果。

php-gd怎样实现图片裁剪拉伸_php-gd不按比例裁剪缩放

PHP-GD 实现图片裁剪和拉伸,尤其是不按比例缩放(即强制拉伸),主要通过 imagecopyresampled() 函数完成。该函数可以将源图像的某一部分复制到目标图像,并在过程中进行缩放。只要指定的目标宽高与原图不成比例,就会实现“非等比”裁剪或拉伸。

1. 不按比例裁剪并拉伸图片

假设你有一张原始图片,想从中裁剪出某个区域,然后将其拉伸为指定尺寸(如 200×150),即使这会变形。

使用步骤如下:

创建源图像资源(支持 JPEG、PNG 等) 定义裁剪区域(x, y, 宽, 高) 创建目标画布(新尺寸) 用 imagecopyresampled() 将裁剪区域拉伸填充到目标画布

示例代码:

立即学习“PHP免费学习笔记(深入)”;

音剪 音剪

喜马拉雅旗下的一站式AI音频创作平台,强大的在线剪辑能力,帮你轻松创作优秀的音频作品

音剪50 查看详情 音剪
// 原始图片路径$src_image = 'photo.jpg';$dest_image = 'cropped_stretched.jpg';// 获取原图信息list($width, $height) = getimagesize($src_image);// 创建源图像资源$src = imagecreatefromjpeg($src_image);// 裁剪参数:从 (50, 50) 开始,裁剪 300x200 区域$src_x = 50;$src_y = 50;$src_w = 300;$src_h = 200;// 目标尺寸:强制拉伸为 200x150(非等比)$dst_w = 200;$dst_h = 150;// 创建目标图像资源$dst = imagecreatetruecolor($dst_w, $dst_h);// 执行裁剪 + 拉伸imagecopyresampled(    $dst,         // 目标图像    $src,         // 源图像    0, 0,         // 目标起点 (x, y)    $src_x, $src_y, // 源起点 (x, y)    $dst_w, $dst_h, // 目标区域宽高    $src_w, $src_h  // 源区域宽高);// 保存结果imagejpeg($dst, $dest_image, 90);// 释放内存imagedestroy($src);imagedestroy($dst);echo "图片已裁剪并拉伸保存为: $dest_image";
登录后复制

2. 注意事项

这种操作会导致图像变形,因为宽高比被强行改变。适合用于需要固定尺寸展示的场景(如头像框、广告位),但不适合对画质要求高的用途。

确保 GD 库已启用:php.ini 中开启 extension=gd 根据图片类型选择正确的创建函数:imagecreatefrompngimagecreatefromgif 等 目标尺寸可任意设置,不受原图比例限制

3. 只缩放不裁剪(整体拉伸)

如果不需要裁剪,只是把整张图拉伸到新尺寸,只需将源区域设为全图:

// 源区域为整个图片imagecopyresampled(    $dst, $src,    0, 0,    0, 0,    $new_width, $new_height,    $width, $height  // 原图全尺寸);
登录后复制基本上就这些。关键是控制 imagecopyresampled 的参数,灵活设定源和目标的矩形区域,就能实现任意裁剪+拉伸效果,包括非等比变形。

以上就是php-gd怎样实现图片裁剪拉伸_php-gd不按比例裁剪缩放的详细内容,更多请关注php中文网其它相关文章!

标签: php培训班
上一篇: PHP使用CDN加速视频播放配置_PHPCDN加速视频配置教程
下一篇: 织梦模板安装调试调用指定栏目数据标签typeid=""的教程

推荐建站资讯

更多>