我的数据库中有许多不同尺寸的图像网址。当我用PHP显示我的网页时,如何显示图像并将其设置为固定尺寸?
答案 0 :(得分:2)
同时使用固定的高度和宽度将拉伸图像。在img标签中仅使用一个高度或宽度,或使用css高度或宽度将图像缩放到固定尺寸。
1。)在html中使用img标签中的高度或宽度 2.)使用高度或高度的CSS 3.)使用php中的图像调整大小按比例调整图像大小。对于图像调整大小,您可以使用任何第三方类。例如。以上建议。
答案 1 :(得分:1)
您可以轻松使用此功能:Smart Image Resizer
希望有所帮助
答案 2 :(得分:1)
我建议在上传图像时调整所有图像的大小,并将调整后的图像与原始图像一起存储。
答案 3 :(得分:0)
你可以使用这样的脚本(只是一个示例代码)。
我建议您为调整大小的文件实现图像缓存。
<?php
$image = "images/worldsmap_bg.png";
if(!file_exists($image))
throw new Exception("file doesn't exists");
$imageinfo = getimagesize($image);
$maxwidth = 120;
$maxheight = 150;
$origratio = $imageinfo[0]/$imageinfo[1];
$width = $imageinfo[0];
$height = $imageinfo[1];
if($height>$maxheight)
{
$faktor = $maxheight/$imageinfo[1];
if($faktor < 1)
{
$width = round($width*$faktor);
$height = round($height*$faktor);
}
}
if($width>$maxwidth)
{
$faktor = $maxwidth/$width;
if($faktor < 1)
{
$width = round($width*$faktor);
$height = round($height*$faktor);
}
}
$image_p = imagecreatetruecolor($width, $height);
switch($imageinfo[2]):
case IMAGETYPE_GIF:
$image = imagecreatefromgif($image);
break;
case IMAGETYPE_JPEG:
case IMAGETYPE_JPEG2000:
$image = imagecreatefromjpeg($image);
break;
case IMAGETYPE_PNG:
$image = imagecreatefrompng($image);
break;
default:
throw new Exception ("invalid image");
break;
endswitch;
imagecopyresampled($image_p, $image, 0, 0, 0, 0, $width, $height, $imageinfo[0], $imageinfo[1]);
header("Content-type: " . image_type_to_mime_type($imageinfo[2]));
switch($imageinfo[2]):
case IMAGETYPE_GIF:
imagegif($image_p);
break;
case IMAGETYPE_JPEG:
case IMAGETYPE_JPEG2000:
imagejpeg($image_p);
break;
case IMAGETYPE_PNG:
imagepng($image_p);
break;
default:
throw new Exception ("invalid image");
break;
endswitch;
?>