1. 云栖社区>
  2. PHP教程>
  3. 正文

按规定宽度等比压缩图片(压缩后图片的大小也会被压缩)

作者:用户 来源:互联网 时间:2017-12-01 09:35:24

图片压缩大小宽度等比规定

按规定宽度等比压缩图片(压缩后图片的大小也会被压缩) - 摘要: 本文讲的是按规定宽度等比压缩图片(压缩后图片的大小也会被压缩), $newWidth=600; $file_path='D:/myWorkspace/get_img/deal_img/jiaShuiYin/1.jpg'; $newName='D:/myWorkspace/get_img/deal_img


$newWidth=600;

$file_path='D:/myWorkspace/get_img/deal_img/jiaShuiYin/1.jpg';

$newName='D:/myWorkspace/get_img/deal_img/jiaShuiYin/2.jpg';

resizeImage($newWidth,$file_path,$newName);

/*
功能:按规定宽度等比压缩图片(压缩后图片的大小也会被压缩)
*/
function resizeImage($maxwidth,$file_path,$name)
{

$im=imagecreatefromjpeg($file_path);
$pic_width = imagesx($im);
$pic_height = imagesy($im);

if($maxwidth && $pic_width > $maxwidth)
{
$ratio = $maxwidth/$pic_width;

$newwidth = $maxwidth;
$newheight = $pic_height * $ratio;
if(function_exists("imagecopyresampled"))
{
$newim = imagecreatetruecolor($newwidth,$newheight);
$state=imagecopyresampled($newim,$im,0,0,0,0,$newwidth,$newheight,$pic_width,$pic_height);
}else
{
$newim = imagecreate($newwidth,$newheight);
$state=imagecopyresized($newim,$im,0,0,0,0,$newwidth,$newheight,$pic_width,$pic_height);
}
if($state)
{
if(!imagejpeg($newim,$name)){
write_log($name,"图片写入出错");
}
imagedestroy($newim);
}else
{
write_log($name,"图片写入出错");
}
}else
{
if (!copy($file_path,$name)) {
write_log($name,"图片copy出错");
}
}
}

以上是云栖社区小编为您精心准备的的内容,在云栖社区的博客、问答、公众号、人物、课程等栏目也有的相关内容,欢迎继续使用右上角搜索按钮进行搜索图片 , 压缩 , 大小 , 宽度 , 等比 规定 ,以便于您获取更多的相关知识。

稳定可靠、可弹性伸缩的在线数据库服务,全球最受欢迎的开源数据库之一

6款热门基础云产品6个月免费体验;2款产品1年体验;1款产品2年体验

弹性可伸缩的计算服务,助您降低 IT 成本,提升运维效率

开发者常用软件,超百款实用软件一站式提供