嘿,

假设我想将图像转换为精确尺寸,例如:400x300。诀窍是,如果图像由于其纵横比而无法容纳 400x300,则将其放置在带有黑色边框的位置。

900x1200 的图像将被转换为 225x300 以保留其纵横比,然后在左右添加黑色边框以使其变为 400x300。

原始照片:

|||||||||||||||||||||||  
|||||||||||||||||||||||  
|||||||||||||||||||||||  
|||||||||||||||||||||||  
|||||||||||||||||||||||  
|||||||||||||||||||||||  
|||||||||||||||||||||||  
|||||||||||||||||||||||  

调整大小后我想看起来像这样:

_______________________
|+++++++++++++++++++++|
|+++++++++++++++++++++|
|+++++++++++++++++++++|
|+++++++||||||||++++++|
|+++++++||||||||++++++|
|+++++++++++++++++++++|
|+++++++++++++++++++++|
|_____________________|

这:“ ++++++++”我想成为某种颜色,而“ |||||||”是图像,中间!

不幸的是我还没有任何代码!

我想要这样的东西:http://phpthumb.sourceforge.net/demo/demo/phpThumb.demo.demo.php#x22谢谢

有帮助吗?

解决方案

熟悉 gd 功能, ,它允许您操作图像。

您需要使用其中之一读取图像 imagecreatefrom... 功能。然后,您需要使用以下命令创建第二个图像: imagecreatetruecolor, ,你 充满 与您选择的颜色。然后使用以下命令将原始图像复制到新图像中 imagecopyresampled, ,这允许您在此过程中调整其大小。您需要事先通过一些简单的数学计算新的大小,其功能如下 getimagesize 可以帮助你。

或者,也可以尝试一下 图像魔术师 类,它是 gd 您可能会或可能不会发现更容易合作。

祝你好运!:)

其他提示

创建一个风格的div以有黑色背景,并在400x300中大小。然后在那个div内显示您的调整大小的图像。您甚至可以包括检查,以确保在显示div之前确保图像不是所需的方面。

这样的东西:

<? 
$height-ratio = $height / 300;
$width-ratio = $width / 400;

if ($height-ratio == $width-ratio) {
 $ratio = $height-ratio;
} elseif ($height-ratio > $width-ratio) {
 $ratio = $height-ratio;
 echo "<div class='blackbox'>";
} else {
 $ratio = $width-ratio;
 echo "<div class='blackbox'>";
}

$newHeight = $height / $ratio;
$newWidth = $width / $ratio;
echo "<img src='".$imgSrc."' height='".$newHeight."' width='".$newWidth."' />";

if ($height-ratio != $width-ratio)
 echo "</div>";
?>
.

支持以下的CSS:

.blackbox { 
 text-align: center;
 background-color: black;
 height: 300px;
 width: 400px;
}
.

我是一个忠实的粉丝,提前编辑和调整图片大小,是我想要的尺寸,而不是在渲染时设置宽度和高度。性能更好,您不必担心不同的浏览器如何不同地处理。

所以如果您没有图像编辑程序GET PAINT.NET。自由,效果良好。

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top