Php codeigniter中的水印覆盖波动
当我在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']);
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;
}
所以请帮我解决这个问题。我想水印图像应该是相同的大小为所有的图像,我要上传
以下是我上传的图片:
提前感谢:)