我正在使用resize()来调整缩略图的大小。我的源图像是1024 * 768.这是我的配置
$demo= array(
'source_image' => $x['full_path'],
'new_image' => $this->image,
'maintain_ratio' => true,
'create_thumb' => true,
'width' => 192,
'height' => 92
);
但我的图片大小调整为123 * 98.为什么不使用宽度值?
答案 0 :(得分:2)
您已启用maintain_ratio
选项,因此CI会尝试创建“尽可能接近目标宽度和高度,同时保留原始宽高比”的缩略图。
在您的情况下,您的图片尺寸为1024x768,宽高比为1.33854(1024/768)。
这对应于使用您指定的宽度和高度值的192x143缩略图或123x92缩略图。
CI决定123x92更接近(可能基于缩略图的区域)。
为什么选择123x98?可能是调整大小算法的一些神器(数学四舍五入错误?)。
需要查看CI代码详细信息以获得更准确的答案。
<强>脚注强>
关于CI中的图像大小调整有一些讨论,模块中有一些怪癖:
[quote author="Saete" date="1346125636"]You will not beleive me,
y had the same problem and y changed the order of configuration parameters
with the maintain_ratio = true, and it worked :S
I needed to adjust to height:
Didn't work:
$config['width'] = 126;
$config['height'] = 84;
$config['maintain_ratio'] = TRUE;
Worked!
$config['height'] = 84;
$config['width'] = 126;
$config['maintain_ratio'] = TRUE;
Some years later, but it may help someone...[/quote]
显然,参数的顺序有所不同(肯定是一个错误)
参考:http://ellislab.com/forums/viewthread/119169/#594586