降低php中图像的大小和质量,并用作CSS背景图像

时间:2019-01-13 16:37:22

标签: php html css image

我有一个正在设计的商店设计,将产品图像设置为div背景,当您将鼠标悬停时,它会从中间变大,依此类推。我所做的一切都很好,但是图像太大并造成大量滞后。

我尝试了几种选择,例如使用PHP使图像更小且质量略低,但我不知道如何从php中的jpeg图像转换为CSS用作背景的格式,因为我不只是将其作为图像打印在页面上,并且需要CSS动画等才能使用。

background:url(
<?php
if(!$i['Image']){

}else{ 
$im = $i['Image'];
$image = "../Images/ShopIMG" . $im . ".jpeg"; 
}
$source_image = imagecreatefromjpeg($image);
$source_imagex = imagesx($source_image);
$source_imagey = imagesy($source_image);
$dest_imagex = 300;
$dest_imagey = 200;
$dest_image = imagecreatetruecolor($dest_imagex, $dest_imagey);
imagecopyresampled($dest_image, $source_image, 0, 0, 0, 0, $dest_imagex, 
$dest_imagey, $source_imagex, $source_imagey);
$imageData = imagejpeg($dest_image,NULL,80);
$src = 'data: '.mime_content_type($dest_image).';base64,'.$imageData;
echo($image);
?>) no-repeat center center;
background-size: 115%;

我希望将新的php图像以较小的尺寸和质量用作背景图像,因此它不会占用页面上太多的内存并将其放慢速度,但是会打印出一些随机的看似损坏的字符。

1 个答案:

答案 0 :(得分:0)

拆分图像并上传较低质量的图片首先解决了我的问题。谢谢达曼。