Php codeigniter中的水印覆盖波动

Php codeigniter中的水印覆盖波动,php,codeigniter,image-uploading,watermark,dimensions,Php,Codeigniter,Image Uploading,Watermark,Dimensions,当我在codeigniter中使用水印覆盖时,水印图像的大小对于不同维度的图像是不同的。下面的代码用于水印 function do_upload_img() { if(isset($_FILES['portfolioimg']['size']) != 0){ $name_array = array(); $files = $_FILES; $cpt = count($_FILES['portfolioimg']['name']);

当我在codeigniter中使用水印覆盖时,水印图像的大小对于不同维度的图像是不同的。下面的代码用于水印

function do_upload_img()
{
    if(isset($_FILES['portfolioimg']['size']) != 0){
       $name_array = array();
       $files = $_FILES;
       $cpt = count($_FILES['portfolioimg']['name']);

       // $config['source_image'] = ''; //get original image
       $config['wm_type'] = 'overlay';
       $config['wm_overlay_path'] = './assets/img/watermark.png';
       $config['quality'] = 50;
       $config['wm_vrt_alignment'] = 'middle';
       $config['wm_hor_alignment'] = 'center';
       // $this->load->library('image_lib', $config);

       for($i=0; $i<=$cpt-1; $i++)
       {           
           $_FILES['userfile']['name']= $files['portfolioimg']['name'][$i];
           $_FILES['userfile']['type']= $files['portfolioimg']['type'][$i];
           $_FILES['userfile']['tmp_name']= $files['portfolioimg']['tmp_name'][$i];
           $_FILES['userfile']['error']= $files['portfolioimg']['error'][$i];
           $_FILES['userfile']['size']= $files['portfolioimg']['size'][$i];    

           $imgnam = rand(10,1000000);
           $ext = pathinfo($files['portfolioimg']['name'][$i], PATHINFO_EXTENSION);
           if($this->upload->initialize($this->set_upload_options($imgnam))){
               $data = $this->upload->do_upload();
               $config['source_image'] = './assets/portfolio_img/' . 'Rookie_'.$imgnam.'.'.$ext;
               $this->image_lib->initialize($config);
               $this->image_lib->watermark(); 
               $name_array[] = $this->upload->data('file_name');
           } else {
               $this->session->set_flashdata('falsemsg','Only jpg, jpeg, png files are allowed to be uploaded.');
           }

       } 
       return $name_array;
    }else{
      return false;
    }
}


private function set_upload_options($imgnam)
{   
     //upload an image options
     $config = array();
     $config['upload_path']   = './assets/portfolio_img/';
     $config['allowed_types'] = 'jpeg|jpg|png';
     $config['max_size']      = '0';
     $config['overwrite']     = true;
     $config['file_name']     = 'Rookie_'.$imgnam;

     return $config;
 } 
函数do\u upload\u img()
{
如果(isset($_文件['portfolioimg']['size'])!=0){
$name_array=array();
$files=$\u文件;
$cpt=count($_文件['portfolioimg']['name']);
//$config['source\u image']='';获取原始图像
$config['wm_type']='overlay';
$config['wm_overlay_path']='./assets/img/watermark.png';
$config['quality']=50;
$config['wm_vrt_alignment']='middle';
$config['wm_hor_alignment']='center';
//$this->load->library('image_lib',$config);
对于($i=0;$iupload->initialize($this->设置上传选项($imgnam))){
$data=$this->upload->do_upload();
$config['source\u image']='./assets/portfolio\u img/'.'Rookie'.$imgnam.$ext;
$this->image\u lib->initialize($config);
$this->image_lib->watermark();
$name_array[]=$this->upload->data('file_name');
}否则{
$this->session->set_flashdata('false msg','只允许上载jpg、jpeg、png文件');
}
} 
返回$name\u数组;
}否则{
返回false;
}
}
私有函数集上传选项($imgnam)
{   
//上载图像选项
$config=array();
$config['upload_path']='./assets/portfolio_img/';
$config['allowed_types']='jpeg | jpg | png';
$config['max_size']='0';
$config['overwrite']=true;
$config['file_name']='Rookie_'.$imgnam;
返回$config;
} 
所以请帮我解决这个问题。我想水印图像应该是相同的大小为所有的图像,我要上传

以下是我上传的图片:


提前感谢:)