Codeigniter没有保持纵横比

Key*_*eyo 6 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);
Run Code Online (Sandbox Code Playgroud)

Mit*_*nna 16

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

但是,如果要确保它始终具有一定的高度,请将master_dim配置选项设置为"高度",然后可以将宽度设置为任何值,并且始终使调整大小的图像成为高度,同时保持纵横比与宽度.类似的想法有助于保持宽度.

  • 本来应该看到你的答案,如果我有哈哈,我不会用数学解决方法填充我的图像缩放器代码 (2认同)

Tec*_*e99 8

@Mitchell McKenna,Thanx.这对我帮助很大.

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

$config['width'] = '245';
$config['height'] = '1';
$config['maintain_ratio'] = TRUE;
$config['master_dim'] = 'width';
Run Code Online (Sandbox Code Playgroud)

它奏效了.感谢名单