Проблема ширины водяного знака на небольших изображениях с использованием Codeigniter - PullRequest
0 голосов
/ 16 ноября 2018

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

Пожалуйста, взгляните на мои сгенерированные водяные знаки

https://ibb.co/m5sojf

https://ibb.co/jR6sAL

Вот мой код ниже

// Контроллер

 $this->manipulate_img->watermark($data['full_path']);
 $this->manipulate_img->resize($data['full_path'],$path.'thumbs',780,400);

// Библиотека манипулирования

public function resize($pic_path,$two,$width,$height)
    {
        $config['source_image'] = $pic_path;
        $config['new_image'] = $two;
        $config['maintain_ratio'] = TRUE;
        $config['width'] = $width;
       // $config['height'] = $height;
        $this->CI->image_lib->initialize($config);
        $this->CI->image_lib->resize();
        $this->CI->image_lib->clear();
        return true;
    }

    public function watermark($pic_path)
    {
        $config['image_library'] = 'gd2';
        $config['source_image'] = $pic_path;
        $config['wm_type'] = 'overlay';
        $config['wm_overlay_path'] = 'assets/img/test.png';
        $config['wm_opacity'] = 50;
        $config['width'] = '330';
        $config['height'] = '100';
        $config['wm_vrt_alignment'] = 'middle';
        $config['wm_hor_alignment'] = 'center';
        $this->CI->image_lib->initialize($config);
        $this->CI->image_lib->watermark();
        $this->CI->image_lib->clear();
        return true;
    }
...