剪切和缩放PHP以创建符合要求的缩略图

剪切和缩放PHP以创建符合要求的缩略图
图片太大,规格不统一,显示控制需要依靠Javascript来完成显示效果不好,和移动设备上的一个巨大的流量,对现有的处理图片的需要,生成缩略图的装置,将原来的工作的客户端JS服务器与PHP的GD库集中处理。

图片来源和需求的大小:
复制代码代码如下所示:
src_img美元=壁纸.webp;
dst_w = 300美元;
dst_h = 200美元;

剪切图像以确保图像的区域最大化并缩放到指定的大小。

一个拷贝部分图像并调整大小的方法用于图像的缩放,实际操作后会发现像素的图像还原是非常严重的。变化后imagecopyresampled(这里说的,许多网上转载的文章却写imagecopyresampled imagecopysampled不能使用,所以我重新发布这一方法,该方法对图像重新)采样,减少了图像平滑的大小,分辨率大大提高。
复制代码代码如下所示:
< PHP
列表(src_w美元,美元src_h)= getimagesize($ / / src_img);得到原来的大小
dst_scale美元美元美元= dst_h / / / dst_w;目标图像的长宽比
src_scale美元美元美元= src_h / / / src_w;原来的长宽比
如果($ src_scale > = $ dst_scale)
{
/高
W = intval美元(美元src_w);
H = intval美元(美元dst_scale * $ W);
$ x=0;
Y元=(src_h美元- $ H) / 3;
}
其他的
{
/太宽
H = intval美元(美元src_h);
W = intval美元($ H / dst_scale美元);
X =(src_w美元- $ W) / 2;
$ y=0;
}
剪切
$源= imagecreatefromjpeg($ src_img);
$露=新建一个真彩色图像($ W $ H);
imagecopy($露,$源,0,0,X、Y元,src_w美元,美元src_h);
缩放
美元美元美元规模= dst_w / W;
目标=新建一个真彩色图像(dst_w美元美元,美元dst_h);
final_w美元= intval($ W * $规模);
final_h = intval美元($ H * $规模);
imagecopyresampled($美元目标,露,0,0,0,0,final_w美元,final_h美元美元美元,W,H);
保存
时间戳=时间();
imagejpeg(美元的目标,为时间戳。jpg);
销毁一图像(为目标);
>

我希望你能用它,或者更方便些。
免责声明:本网信息来自于互联网,目的在于传递更多信息,并不代表本网赞同其观点。其原创性以及文中陈述文字和内容未经本站证实,对本文以及其中全部或者部分内容、文字的真实性、完整性、及时性本站不作任何保证或承诺,并请自行核实相关内容。本站不承担此类作品侵权行为的直接责任及连带责任。如若本网有任何内容侵犯您的权益,请及时联系我们,本站将会在24小时内处理完毕。
相关文章
返回顶部