代码点火器调整大小()

时间:2013-03-19 17:31:56

标签: codeigniter

我正在使用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.为什么不使用宽度值?

1 个答案:

答案 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