当前位置:首页 > 日记 > 正文

php图像裁剪功能(保持图像不变形)

php图像裁剪功能(保持图像不变形)
为了完成图片上传后的自动裁剪,将剪贴画显示在前台。
要求如下:源代码如下所示:
复制代码代码如下所示:
<
* exif_imagetype --确定图像的类型
*描述:函数函数是将图像切割成任意大小的图像,而图像不会变形。
*参数说明:输入需要处理图片的文件名,生成新图片的文件名,生成新图片的宽度,并生成新图片。
* /
获取任意大小的图像,缺少局部张力,不变形,不留空白。
功能my_image_resize(src_file美元,dst_file美元美元美元,new_width,new_height){
new_width = intval美元(美元new_width);
new_height = intval美元(美元new_width);
如果($ new_width < 1美元new_height<1 { | |)
回声params宽度或高度误差!;
出口();
}
如果(!file_exists($ src_file)){
echo $ src_file。不存在!;
出口();
}
图像类型
类型= exif_imagetype美元(美元src_file);
support_type美元=阵列(imagetype_jpeg,imagetype_png,imagetype_gif);
如果(!in_array(合式,support_type美元,真)){
这种类型的图像不支持!只支持JPG,GIF);
出口();
}
加载映像
开关($ type){
案例imagetype_jpeg:
src_img = imagecreatefromjpeg美元(美元src_file);
打破;
案例imagetype_png:
src_img = imagecreatefrompng美元(美元src_file);
打破;
案例imagetype_gif:
src_img = imagecreatefromgif美元(美元src_file);
打破;
违约:
加载图像错误!;
出口();
}
W = imagesx美元(美元src_img);
H = imagesy美元(美元src_img);
ratio_w美元= 1 * $ new_width / $ W;
ratio_h美元= 1 * new_height美元/美元小时;
美元= 1;
生成的图像宽度比原始图像小,或者两者都是大比例放大的原理,大比例(缩小的比例相对较小)。
如果((ratio_w美元1美元ratio_h > 1)){
如果($ ratio_w << ratio_h美元){
美元美元的比率= ratio_h; / /,比的小比例的切割宽度或放大在高度比标准高度方向
{ }人
ratio_w美元美元比率=;
}
临时映像定义了图像的中间长宽比,只满足目标需求。
inter_w美元=(int)($ new_width /价格比);
inter_h美元=(int)($ new_height /价格比);
inter_img美元=新建一个真彩色图像(inter_w美元,美元inter_h);
/ / var_dump($ inter_img);
imagecopy(inter_img美元,src_img美元,0,0,0,0,inter_w美元,美元inter_h);
对临时对象图像的大小生成一个最大的边缘长度是$比。
定义新图像
new_img美元=新建一个真彩色图像(new_width美元,美元new_height);
/ / var_dump($ new_img);出口();
imagecopyresampled(new_img美元,inter_img美元,0,0,0,0,new_width美元,new_height美元美元美元,inter_w,inter_h);
开关($ type){
案例imagetype_jpeg:
imagejpeg(new_img美元,dst_file美元,100); / /图像存储
打破;
案例imagetype_png:
imagepng(new_img美元,dst_file美元,100);
打破;
案例imagetype_gif:
imagegif(new_img美元,dst_file美元,100);
打破;
违约:
打破;
}
如果1,则结束
一方大于原来的 2目标图像,边缘小于原来的,第一放大和削减和平的形象。
/ / =如果(($ ratio_w 1)| |($ ratio_w > 1美元ratio_h<1))
别的{
美元美元的比率= ratio_h > ratio_w美元美元美元ratio_h:ratio_w; / /占很大比例的价值
高清晰度图像的中间,图像和目标图像的等高度或宽度,然后放大原始图像。
inter_w美元=(int)($ W * $比);
inter_h美元=(int)($ H * $比);
inter_img美元=新建一个真彩色图像(inter_w美元,美元inter_h);
原来的缩放比例削减
imagecopyresampled(inter_img美元,src_img美元,0,0,0,0,inter_w美元,inter_h美元美元美元,W,H);
定义新图像
new_img美元=新建一个真彩色图像(new_width美元,美元new_height);
imagecopy(new_img美元,inter_img美元,0,0,0,0,new_width美元,美元new_height);
开关($ type){
案例imagetype_jpeg:
imagejpeg(new_img美元,dst_file美元,100); / /图像存储
打破;
案例imagetype_png:
imagepng(new_img美元,dst_file美元,100);
打破;
案例imagetype_gif:
imagegif(new_img美元,dst_file美元,100);
打破;
违约:
打破;
}
} / / IF3
结束函数
my_image_resize(测试。gif,11111。gif,'100px ','100px);
>

相关文章

Linux系统中各种包的安装

Linux系统中各种包的安装

安装,系统,电脑软件,Linux,点评:各种Linux系统软件包的安装方法是共享的,包括RPM包,Deb包,编译源代码包,tar.bz2解压缩源代码包,APT,bin文件的安装方法总结。 一、RPM包安装步骤: 1,找到相应的软件包,如soft.version.rpm,下载到本机目录。 2,打开终端…

如何添加方法教程韩国输入win7系统

如何添加方法教程韩国输入win7系统

输入,教程,系统,方法,韩国,点评:朝鲜语输入法添加到文字服务和输入语言win7系统下,但在切换韩文输入法,它仍然是信~ ~怎么做。 win7系统如何添加韩文输入法,以下 下载地址:韩国补丁win7 / / 148777.html软件 1。你看到右下角的小键盘了吗单击…

为什么我的QQ密码再次更改后不久的

为什么我的QQ密码再次更改后不久的

密码,电脑软件,QQ,如果您更改了QQ密码和异常,可能是因为您的电脑在木马中不清晰,通过木马再次窃取您的QQ密码,QQ账号登录并发送垃圾短信,您查询Q币,这将导致您的QQ账号异常。 为了更好的保证您的QQ账号安全,我们建议您及时使用专业的木马检测工…

详细的介绍了linuxtune2fs命令

详细的介绍了linuxtune2fs命令

命令,详细,电脑软件,linuxtune2fs,点评:tune2fs是调整和查看ext2或ext3文件系统的文件系统参数。如果在Windows上出现停电事故,下一次启动时,系统总是自检。需要了解的朋友可以参考它。 1。简介: tune2fs是调整和查看ext2或ext3文件系统的文件…

电脑游戏经常黑屏但有声音(解决方案

电脑游戏经常黑屏但有声音(解决方案

解决方案,电脑游戏,黑屏,声音,电脑软件,问题: 我的电脑是用AMD的卡,玩大型游戏时经常黑屏,虽然黑屏,但电脑正常工作,也能听到游戏的声音。重启后,电脑可以进入系统并显示桌面。原因是什么呢 答案uff1a 一张卡,很容易出现上述情况,这通常是由显卡…

oracle中的简单查询、有限查询、数

oracle中的简单查询、有限查询、数

查询,数据排序,语句,注释,示例,1。简单的查询 SQL(结构化查询语言)结构化查询语言是数据库查询和编程语言,它是用来访问数据的查询、更新和管理关系数据库systems.ansi(美国国家标准协会)声称,SQL是关系数据库管理系统的标准语言。 Oracle数据…

Oracle约束管理脚本

Oracle约束管理脚本

脚本,约束,电脑软件,Oracle,您正在查看的Oracle教程是Oracle约束管理脚本。 作为Oracle数据库管理员,您将遇到这样的数据库管理需求,在当前的用户模式下停止或打开所有表的所有约束和触发器,这是数据库合并和数据库系统代码表中一些代码的修改…

linux视图端口状态和关闭端口方法

linux视图端口状态和关闭端口方法

状态,方法,视图,端口,电脑软件,注释:首先,您必须知道端口不是独立的,它依赖于进程。 前提:首先你要知道端口不是独立的,它依赖的过程,一个进程打开,则其对应的端口被打开,这个过程是封闭的,和端口是关闭的。下次过程再次打开,相应的端口也打开了。而…

QQ空间的道具是如何给朋友的

QQ空间的道具是如何给朋友的

空间,给朋友,道具,电脑软件,QQ,QQ空间道具给出的条件:我必须有在我的道具中的转让许可证的道具。 QQ空间礼品赠送:QQ号码输入道具不限于QQ好友。为了您的QQ财产安全,请妥善保存QQ密码。 QQ空间道具赠送方法: 第1步:登录到你的QQ空间,点击过了空…

C组的管理过程中使用Linux的磁盘IO

C组的管理过程中使用Linux的磁盘IO

磁盘,过程中,电脑软件,Linux,IO,点评:这篇文章主要介绍了cgroups管理过程的磁盘IO介绍在linux下使用,需要的朋友可以参考一下。 Linux下的C组也可以限制和监控过程的磁盘IO。这个功能是由blkio子系统的实现。 有很多的事情blkio系统。但大部…

从移动视频版本看UGC的爆发四方

从移动视频版本看UGC的爆发四方

移动视频,版本,电脑软件,UGC,文/萧潜 今年做视频,谁不做UGC,真的是脱离现实了,随着移动视频用户数量的增加和视频录制质量的提高,视频UGC将成为视频社区的核心战略目标。 这是来自神曲小苹果在热证实。近日,有网友给了前两个数据反驳小谦的观点…

新型禅车货物随机排序修正方法

新型禅车货物随机排序修正方法

排序,方法,修正,货物,电脑软件,ZenCart,第一步是整理和修改新产品。第一步是:首先,新产品可以定义自己的时间段:商店设置——最大值——新产品的定义。 执行新产品的随机修改第二步: 在主页上修改新的商品: / / / new_products.php模块包括 在n…