Я надеюсь, что кто-то может мне помочь. Я пытаюсь загрузить изображение через форму, изменить ее размер до 600 пикселей, создать эскиз 100 пикселей, а затем добавить изображение водяного знака в версию 600 пикселей, но приведенный ниже код просто создает две версии исходного изображения.
$image = $this->upload->data(); $resized = base_url()."images/artwork/".$image['orig_name']; //Create 600px version $config = array(); $config['source_image'] = $resized; $config['image_library'] = 'gd2'; $config['maintain_ratio'] = TRUE; $config['width'] = 600; $config['height'] = 600; $this->image_lib->initialize($config); $this->image_lib->resize(); $this->image_lib->clear(); unset($config); //Add watermark to 600px version $config = array(); $config['source_image'] = $resized; $config['image_library'] = 'gd2'; $config['wm_type'] = 'overlay'; $config['wm_overlay_path'] = './images/logo.gif'; $config['wm_vrt_alignment'] = 'middle'; $config['wm_hor_alignment'] = 'center'; $this->image_lib->initialize($config); $this->image_lib->watermark(); $this->image_lib->clear(); unset($config); //Create 100px unwatermarked thumbnail $config = array(); $config['source_image'] = $resized; $config['image_library'] = 'gd2'; $config['maintain_ratio'] = TRUE; $config['width'] = 100; $config['height'] = 100; $this->image_lib->initialize($config); $this->image_lib->resize(); $this->image_lib->clear(); unset($config); $thumbnail = base_url()."images/artwork/".$image['raw_name']."".$image['file_ext']; echo "<a href=\"".$resized."\"><img src=\"".$thumbnail."\" /></a>";
Не похоже, что вы сказали, чтобы сделать копию для миниатюры.
//Create 100px unwatermarked thumbnail $config = array(); $config['source_image'] = $resized; $config['image_library'] = 'gd2'; $config['maintain_ratio'] = TRUE; $config['create_thumb'] = TRUE; // Tells it to make a copy called *_thumb.* $config['width'] = 100; $config['height'] = 100; $this->image_lib->initialize($config); $this->image_lib->resize(); $this->image_lib->clear(); unset($config);
Возможно, вы также захотите ввести код проверки ошибок, чтобы вы знали, если он не работает, и почему:
if ( ! $this->image_lib->resize()) { echo $this->image_lib->display_errors(); }
Использование Image Moo может помочь в этом примере: http://ellislab.com/forums/viewthread/162030/#778258