0

0

php代码示例怎样实现图片裁剪_php图片裁剪代码示例【示例】

看不見的法師

看不見的法師

发布时间:2026-01-29 14:47:02

|

641人浏览过

|

来源于php中文网

原创

PHP GD库可用imagecopyresampled()实现精确裁剪,需先加载源图资源、创建目标画布,注意坐标原点、图像类型、EXIF旋转校正及内存管理。

php代码示例怎样实现图片裁剪_php图片裁剪代码示例【示例】

PHP 自带的 GD 库就能完成基础图片裁剪,无需额外扩展,但必须注意图像资源类型、坐标原点和内存管理。

imagecopyresampled() 实现精确裁剪

这是最常用也最可控的方式,适合按指定坐标+宽高从原图抠出一块区域并缩放到目标尺寸(或保持原尺寸)。

  • 源图需先用 imagecreatefromjpeg() / imagecreatefrompng() 等加载为资源,不能直接操作文件路径
  • 目标画布要用 imagecreatetruecolor() 创建,尺寸即你想要的裁剪后大小
  • imagecopyresampled($dst, $src, 0, 0, $x, $y, $dst_w, $dst_h, $src_w, $src_h) 中的 $x$y 是源图上的起始坐标(左上角),不是屏幕像素,也不是百分比
  • 若只裁剪不缩放,令 $dst_w === $src_w$dst_h === $src_h,但要注意 $x + $src_w$y + $src_h 不能超出原图边界,否则结果为空白或报错
[$src = imagecreatefromjpeg('photo.jpg');
$dst = imagecreatetruecolor(200, 150);
imagecopyresampled($dst, $src, 0, 0, 50, 30, 200, 150, 200, 150);
imagejpeg($dst, 'crop.jpg', 90);
imagedestroy($src);
imagedestroy($dst);]

裁剪前必须检查图像类型和尺寸

GD 不支持 WebP(PHP 7.4+ 才有 imagecreatefromwebp),且 getimagesize() 返回的宽高可能和实际加载后不一致(比如旋转信息未被 GD 自动处理)。

  • getimagesize() 获取原始宽高和类型,再选对应加载函数;否则 imagecreatefrompng() 加载 JPEG 会失败
  • 调用 exif_read_data() 判断是否含旋转标记(如 iPhone 拍照),必要时先用 imagerotate() 校正,否则裁剪区域偏移
  • GD 对 GIF 动画只处理第一帧,裁剪后丢失动画,需用 Imagick 或第三方库处理动图

避免常见内存与权限错误

大图裁剪容易触发 Allowed memory size exhaustedCannot allocate memory,尤其在共享主机上。

纯js选择图片裁剪上传服务端简单示例
纯js选择图片裁剪上传服务端简单示例

最简单纯js+html5选择图片裁剪并上传服务端简单示例,参数控制裁剪区域大小,裁剪区域可移动,支持裁剪后预览,提供服务端源码PHP文件接收上传示例。

下载

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

  • 在裁剪前加 ini_set('memory_limit', '256M'),但更稳妥的是先用 imagescale($src, $max_width, $max_height, IMG_BILINEAR) 缩小原图再裁剪
  • 确保 PHP 有读取源图、写入目标路径的权限;imagejpeg() 第二个参数为 null 时直接输出到浏览器,此时必须清空输出缓冲并设置 header('Content-Type: image/jpeg')
  • 忘记 imagedestroy() 会导致内存持续占用,循环批量处理时极易崩溃

真正麻烦的不是裁剪动作本身,而是源图格式杂、EXIF 旋转未归一、内存限制硬卡住——这些细节不提前兜底,代码上线后往往只在特定用户上传的某张照片上突然失效。

热门AI工具

更多
DeepSeek
DeepSeek

幻方量化公司旗下的开源大模型平台

豆包大模型
豆包大模型

字节跳动自主研发的一系列大型语言模型

通义千问
通义千问

阿里巴巴推出的全能AI助手

腾讯元宝
腾讯元宝

腾讯混元平台推出的AI助手

文心一言
文心一言

文心一言是百度开发的AI聊天机器人,通过对话可以生成各种形式的内容。

讯飞写作
讯飞写作

基于讯飞星火大模型的AI写作工具,可以快速生成新闻稿件、品宣文案、工作总结、心得体会等各种文文稿

即梦AI
即梦AI

一站式AI创作平台,免费AI图片和视频生成。

ChatGPT
ChatGPT

最最强大的AI聊天机器人程序,ChatGPT不单是聊天机器人,还能进行撰写邮件、视频脚本、文案、翻译、代码等任务。

相关专题

更多
c语言中null和NULL的区别
c语言中null和NULL的区别

c语言中null和NULL的区别是:null是C语言中的一个宏定义,通常用来表示一个空指针,可以用于初始化指针变量,或者在条件语句中判断指针是否为空;NULL是C语言中的一个预定义常量,通常用来表示一个空值,用于表示一个空的指针、空的指针数组或者空的结构体指针。

236

2023.09.22

java中null的用法
java中null的用法

在Java中,null表示一个引用类型的变量不指向任何对象。可以将null赋值给任何引用类型的变量,包括类、接口、数组、字符串等。想了解更多null的相关内容,可以阅读本专题下面的文章。

458

2024.03.01

iPhone文本消息乱序错误如何解决?
iPhone文本消息乱序错误如何解决?

解决办法:1、强制关闭消息应用程序;2、重启你的iPhone;3、自动禁用设置并再次启用;4、关闭iMessage并重新打开;5、重置所有设置;6、使用ReiBoot修复iOS。本专题为大家提供相关的文章、下载、课程内容,供大家免费下载体验。

342

2024.11.19

删除iPhone上所有照片的方法
删除iPhone上所有照片的方法

删除iPhone上所有照片的方法;1、删除整个照片库;2、从相册中删除所有照片;3、仅从图库中删除照片;4、仅删除视频,屏幕截图,自拍,实时或人像照片;5、删除某人的所有照片;6、永久删除已删除的照片等等。想了解更多相关的内容,请阅读专题下面的文章。

882

2024.12.11

iPhone静音开关不起作用
iPhone静音开关不起作用

若 iPhone 静音开关失效,先检查硬件,看开关状态、清洁缝隙。接着重启手机,查看静音及勿扰模式设置,更新系统。若都不行,可恢复出厂设置(提前备份)。若仍无效,可能是严重硬件问题,需联系苹果客服或去授权维修中心。

180

2025.03.20

clawdbot ai使用教程 保姆级clawdbot部署安装手册
clawdbot ai使用教程 保姆级clawdbot部署安装手册

Clawdbot是一个“有灵魂”的AI助手,可以帮用户清空收件箱、发送电子邮件、管理日历、办理航班值机等等,并且可以接入用户常用的任何聊天APP,所有的操作均可通过WhatsApp、Telegram等平台完成,用户只需通过对话,就能操控设备自动执行各类任务。

16

2026.01.29

clawdbot龙虾机器人官网入口 clawdbot ai官方网站地址
clawdbot龙虾机器人官网入口 clawdbot ai官方网站地址

clawdbot龙虾机器人官网入口:https://clawd.bot/,clawdbot ai是一个“有灵魂”的AI助手,可以帮用户清空收件箱、发送电子邮件、管理日历、办理航班值机等等,并且可以接入用户常用的任何聊天APP,所有的操作均可通过WhatsApp、Telegram等平台完成,用户只需通过对话,就能操控设备自动执行各类任务。

12

2026.01.29

Golang 网络安全与加密实战
Golang 网络安全与加密实战

本专题系统讲解 Golang 在网络安全与加密技术中的应用,包括对称加密与非对称加密(AES、RSA)、哈希与数字签名、JWT身份认证、SSL/TLS 安全通信、常见网络攻击防范(如SQL注入、XSS、CSRF)及其防护措施。通过实战案例,帮助学习者掌握 如何使用 Go 语言保障网络通信的安全性,保护用户数据与隐私。

8

2026.01.29

俄罗斯Yandex引擎入口
俄罗斯Yandex引擎入口

2026年俄罗斯Yandex搜索引擎最新入口汇总,涵盖免登录、多语言支持、无广告视频播放及本地化服务等核心功能。阅读专题下面的文章了解更多详细内容。

564

2026.01.28

热门下载

更多
网站特效
/
网站源码
/
网站素材
/
前端模板

精品课程

更多
相关推荐
/
热门推荐
/
最新课程
PHP课程
PHP课程

共137课时 | 10.1万人学习

JavaScript ES5基础线上课程教学
JavaScript ES5基础线上课程教学

共6课时 | 11.2万人学习

PHP新手语法线上课程教学
PHP新手语法线上课程教学

共13课时 | 0.9万人学习

关于我们 免责申明 举报中心 意见反馈 讲师合作 广告合作 最新更新
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送

Copyright 2014-2026 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号