codeigniter изменяет размер изображения по ширине

avatar
Ghada Rahhal
8 апреля 2018 в 09:12
134
3
0

Я хочу создать новую фотографию, используя только динамическую ширину, чтобы высота автоматически менялась в зависимости от ширины.

Следующий код у меня не работает.

$w = $width;
$w = $w / 4 ;
$mconfig['width'] = $w;
$mconfig['maintain_ratio'] = TRUE;
$mconfig['source_image'] = 'uploads/watermark.png';
$mconfig['new_image'] = 'uploads/images/watermark/watermark.png';
$this->image_lib->initialize($mconfig);
$this->image_lib->resize();
$this->image_lib->clear(); 
Источник
Deniz B.
8 апреля 2018 в 09:14
0

Вы установили библиотеку gd?

Ghada Rahhal
8 апреля 2018 в 09:17
0

Да @DenizB. и он работает только тогда, когда я устанавливаю значение высоты

Ответы (3)

avatar
Anfath Hifans
16 апреля 2018 в 07:47
0

Попробуйте это,

$uploaded_data = $this->upload->data();

$w = $width / 4;
$config['width'] = $w;
$config['height'] = round($uploaded_data['image_height']/($uploaded_data['image_width']/$w), 2);

$config['image_library'] = 'gd2';
$config['source_image'] = 'uploads/watermark.png';
$config['new_image'] = 'uploads/images/watermark/watermark.png';
$config['quality'] = "100%";
$config['maintain_ratio'] = true;

$this->load->library('image_lib', $config);
$this->image_lib->initialize($config);
if ($this->image_lib->resize()){
    $this->image_lib->clear(); 
    return true;
}else{
    return $this->image_lib->display_errors();
}
avatar
Ruhul Amin Raj
8 апреля 2018 в 10:16
0

Попробуйте это:

//Imagine you need Width 1000px

$height = ($fdata["image_height"] * 1000) / $fdata['image_width'];
$resize_height = (int)$height;

$mconfig['width'] = 1000;
$mconfig['height'] = $resize_height; 
$mconfig['maintain_ratio'] = TRUE;
$mconfig['source_image'] = 'uploads/watermark.png';
$mconfig['new_image'] = 'uploads/images/watermark/watermark.png';
$this->image_lib->initialize($mconfig);
$this->image_lib->resize();
$this->image_lib->clear(); 

Здесь $fdata["image_height"] — высота загружаемого изображения, а $fdata['image_width'] — ширина загружаемого изображения.

avatar
Belal Awwad
8 апреля 2018 в 09:17
0

Попробуйте также установить высоту

например,

$config['height']       = 50;
Ghada Rahhal
8 апреля 2018 в 09:23
0

Спасибо за ваш ответ, но я хочу, чтобы высота автоматически менялась, углубляясь в значение ширины.

Belal Awwad
8 апреля 2018 в 09:42
0

Да, я знаю, но установка значения высоты требуется, даже если вам не нужно его менять.