bug(?)codeigner裁剪图像的高度和宽度已更改



我从UI发送了source_imagex_axisy_axisheightwidth来处理图像(在这种情况下,我裁剪了一个图像(,这是我的代码:

$this->load->library('image_lib');
$image = $this->input->post('source_image');
//array configuration for clock-wise and counter-clock-wise
$angle = array(
0 => 0,
90 => 270,
180 => 180,
270 => 90
);
$rotation = $this->input->post('rotation');
$x = $this->input->post('x');
$y = $this->input->post('y');
$width = $this->input->post('width');
$height = $this->input->post('height');
$result = array();
$config['image_library'] = 'gd2';
$config['source_image'] = $image;
$config['x_axis'] = $x;
$config['y_axis'] = $y;
$config['maintain_ratio'] = TRUE;
$config['width'] = $width;
$config['height'] = $height;
$this->image_lib->initialize($config);
if (!$this->image_lib->crop()) {
$result = array(
'result' => FALSE,
'error' => $this->image_lib->display_errors()
);
}

当我完成裁剪图像,然后再次检查分辨率时,它会发生变化,例如:

width: 197px; height: 173px;

它应该是我完成裁剪时的分辨率,但当我检查它时,分辨率变为

width: 181px; height: 173px;

在其他情况下,有时宽度变化,有时高度变化。。

配置$config或其他什么时我错了吗?感谢

那么就不应该使用$config['maintain_ratio'] = TRUE;(将其设置为false(。

由于maintain_ratio选项已启用,图像将与尽可能地调整到目标宽度和高度,同时保留原始纵横比

文档:https://www.codeigniter.com/userguide3/libraries/image_lib.html#processing-图像

请记住,更改比例或将其设置为false以使大小为硬值会导致一些图像倾斜或看起来很奇怪。CI没有真正处理这一问题的方法,但还有其他上传库可以在保持指定大小的同时添加黑条,例如:https://github.com/verot/class.upload.php

相关内容

  • 没有找到相关文章

最新更新