将png图片转换为白底的jpg图片,然后进行渐进式处理

作者: admin 分类: php 发布时间: 2017-04-11 08:22

采集到页面图片中,一些png的图片过于大了,影响网页的加载速度,需要处理掉其中的png图片,这个小程序将png格式的透明图片处理为jpg格式的图片。具体代码如下

//将png图片转换为白底的jpg图片
function pngToJpg($srcPathName, $delOri=true)  
{  
	$srcFile=$srcPathName;  
	$srcFileExt=strtolower(trim(substr(strrchr($srcFile,'.'),1)));  
	if($srcFileExt=='png')  
	{  
		$dstFile = str_replace('.png', '.jpg', $srcPathName);  
		$photoSize = GetImageSize($srcFile);  
		$pw = $photoSize[0];  
		$ph = $photoSize[1];  
		$dstImage = ImageCreateTrueColor($pw, $ph);  
		$white=imagecolorallocate($dstImage, 255, 255, 255);
		imagefill($dstImage, 0, 0, $white);  
                //读取图片  
		$srcImage = ImageCreateFromPNG($srcFile);  
                //合拼图片  
		imagecopyresampled($dstImage, $srcImage, 0, 0, 0, 0, $pw, $ph, $pw, $ph);
                //对图片进行渐进式处理
                imageinterlace($dstImage, 1);
		imagejpeg($dstImage, $dstFile, 90);  
		if ($delOri)  
		{  
			unlink($srcFile);  
		}  
		imagedestroy($srcImage);  
	}  
}  

 

如果觉得我的文章对您有用,请随意打赏。您的支持将鼓励我继续创作!

发表评论

电子邮件地址不会被公开。 必填项已用*标注