我正在使用Code Igniter上传图片。在我的农场,我可以选择用户设置图像的宽度和高度。
如果用户同时设置了高度,则应将图像调整为指定的宽度和高度。
如果用户仅设置宽度,则图像应调整为如果用户设置高度,则图像调整大小为该高度,如果用户没有设置,高度图像将不会调整大小
我有以下代码,但是当用户设置宽度或高度时它不起作用。
$data_file = $this->upload->data();
$config['image_library'] = 'gd2';
$config['source_image'] = FPATH.'uploads/'.$data_file['file_name'];
$config['create_thumb'] = false;
if($img_width>0 && $img_height>0){
$config['maintain_ratio'] = false;
$config['width'] = $img_width;
$config['height'] = $img_height;
}elseif($img_width>0 && $img_height<=0){
$config['width'] = $img_width;
$config['maintain_ratio'] = TRUE;
$config['master_dim'] = 'width';
}elseif($img_width<=0 && $img_height>0){
$config['height'] = $img_height;
$config['maintain_ratio'] = TRUE;
$config['master_dim'] = 'height';
}
$this->load->library('image_lib', $config);
$this->image_lib->resize();
当我指定宽度和高度时,这工作正常,但如果我只指定宽度或高度,则将其调整为宽度或高度但是按比例调整。
由于
答案 0 :(得分:0)
我会说你应该提供一个默认的宽度或高度,以防宽度或高度没有提到,因为图像由宽度和高度组成!
像我这样的东西会起作用 -
$data_file = $this->upload->data();
$config['image_library'] = 'gd2';
$config['source_image'] = FPATH.'uploads/'.$data_file['file_name'];
$config['create_thumb'] = false;
$default_width=100;
$default_height=100;
// elseif conditions
elseif(!(isset($img_width)) && !(isset($img_height))){
$config['height'] = $default_height;
$config['maintain_ratio'] = TRUE;
$config['master_dim'] = 'height';
}
}
$this->load->library('image_lib', $config);
$this->image_lib->resize();