Codeigniter没有保持纵横比

时间:2010-09-13 00:48:17

标签: codeigniter image-processing

如果我只指定一个高度,我希望$config['maintain_ratio'] = TRUE;会导致计算宽度。我想我必须为高度提供任何大数字才能使其正常工作?

    $config['image_library']    = 'gd2';
    $config['source_image']     = $image_filepath;
    $config['new_image']        = $thumbnail_filepath;
    $config['maintain_ratio']   = TRUE;
    $config['height']           = $this->thumbnail_height;

    $this->image_lib->initialize($config);

3 个答案:

答案 0 :(得分:16)

正确,你必须指定高度和宽度。由于启用了maintain_ratio选项,因此调整大小将尽可能接近目标大小,同时保留原始宽高比。

然而,如果你想确保它总是一定的高度,将master_dim配置选项设置为'height',那么你可以将宽度设置为任何东西,它总会使调整高度图像的高度,同时保持宽高比与宽度。类似的想法有助于保持宽度。

答案 1 :(得分:8)

@Mitchell McKenna, 感谢名单。它对我帮助很大。

在我的项目中,源图像可以是任何大小。 我希望它的宽度为'245'px,保持率, 所以, 我只是喜欢这个......

$config['width'] = '245';
$config['height'] = '1';
$config['maintain_ratio'] = TRUE;
$config['master_dim'] = 'width';

它有效。感谢名单

答案 2 :(得分:0)

将其他尺寸设置为1将根据第一个值进行调整大小。例如,如果您想保持宽度= 700px并根据此比率计算高度;

$config['width'] = 700;
$config['height'] = 1; // force resizing based on width