我需要根据仅宽度调整图像大小,而不是高度:(
因为我正在使用** $config['maintain_ratio'] = TRUE;
**
,codeigniter自动解决它(这就是问题)有时我会得到一个黑色实体作为额外的宽度或高度,
我查看了与codegniter图像有关的所有问题 图书馆,我找不到与我的问题有关的任何事情:(
以下是对最终结果的描述......
上传后有这个......
$this->load->library('md_image');
$source='assets/img/hotellist/'.$data1['hotel_pictures'];
$width=746;
$height=400;
$dest = FALSE;
//$this->md_image->resize_image($source, $width, $height, $source);
$config['image_library'] = 'gd2';//imagemagik
$config['source_image'] = 'assets/img/hotellist/'.$data1['hotel_pictures'];
//$config['image_library'] = 'imagemagick';
//$config['library_path'] = '/usr/X11R6/bin/';
$config['create_thumb'] = FALSE;
$config['maintain_ratio'] = TRUE;
$config['width'] = 746;
$config['height'] = 400;
$config['quality'] = 75;
$config['encrypt_name'] = TRUE;
$config['remove_spaces'] = TRUE;
//$config['x_axis'] = 100;
//$config['y_axis'] = 300;
$img =$config['source_image'];
//var_dump('check problem',$config['source_image']);
$this->load->library('image_lib', $config);
$this->image_lib->resize();
然后我会照顾裁剪部分
$new_img =$this->md_image->crop_to_ratio($source, $width, $height, $x = 17, $y = 9, $dest = FALSE);
总结一下,有人上传图片,根据宽度调整大小 然后它被裁剪
PS:如果有人需要它md_image
答案 0 :(得分:2)
$this->load->library('md_image');
$source='assets/img/hotellist/'.$data1['hotel_pictures'];
$width=746;
$height=400;
$size = getimagesize($source);
$resize_height=($size[1]*746)/$size[0];
$dest = FALSE;
//$this->md_image->resize_image($source, $width, $height, $source);
$config['image_library'] = 'gd2';//imagemagik
$config['source_image'] = 'assets/img/hotellist/'.$data1['hotel_pictures'];
//$config['image_library'] = 'imagemagick';
//$config['library_path'] = '/usr/X11R6/bin/';
$config['create_thumb'] = FALSE;
$config['maintain_ratio'] = TRUE;
$config['width'] = 746;
$config['height'] = $resize_height;
$config['quality'] = 75;
$config['encrypt_name'] = TRUE;
$config['remove_spaces'] = TRUE;
//$config['x_axis'] = 100;
//$config['y_axis'] = 300;
$img =$config['source_image'];
//var_dump('check problem',$config['source_image']);
$this->load->library('image_lib', $config);
$this->image_lib->resize();
答案 1 :(得分:1)
function resize_than_crop($path, $new_path, $width = 400, $height = 746) {
$this->load->library('image_lib');
$this->image_lib->initialize(array(
'image_library' => 'gd2',
'source_image' => $path,
'new_image' => $new_path,
'maintain_ratio' => true,
'master_dim' => 'width',
'width' => $width
));
$this->image_lib->resize();
$this->image_lib->clear();
$this->image_lib->initialize(array(
'image_library' => 'gd2',
'source_image' => $new_path,
'height' => $height
));
$this->image_lib->crop();
}