水印函数返回true,但不修改图像



我所要做的就是在上传时为图像添加水印。尽管水印函数返回TRUE,但是图像没有被修改。

这是我写的函数,即使尝试捕获也不起作用:

public function product_small_image_upload($path, $folder)
{
try {
$image = new ImageResize($path);
$image->quality_jpg = 85;
$image->resizeToHeight(300);
$new_name = 'img_x300_' . generate_unique_id() . '.jpg';
$new_path = 'uploads/' . $folder . '/' . $new_name;
$imgConfig = array();
$imgConfig['image_library']   = 'GD2';
$imgConfig['source_image']    = $new_path;
$imgConfig['wm_text']         = 'Copyright 2019';
$imgConfig['wm_type']         = 'text';
$imgConfig['wm_font_size']    = '16';
$this->load->library('image_lib', $imgConfig);
$this->image_lib->initialize($imgConfig);
$this->image_lib->watermark(); 
$image->save(FCPATH . $new_path, IMAGETYPE_JPEG);
return $new_name;
} catch (ImageResizeException $e) {
return null;
}
}
  • $new_path变量包含此字符串upload/images/img_x300_1289.png,该名称是随机生成的。

  • 我也尝试了base_url().$new_path,因为我认为我必须更具体地了解图像路径,但它仍然不起作用。

  • 我怎么能看到什么不起作用,为什么即使我在上传时也会得到无水印?

首先添加$new_path=FCPATH。'uploads/'$文件夹。'/'$new_name;

您不需要使用$imgConfig['images_library'],也没有使用水印对齐。

你为什么不使用正确的方法:

$config['source_image'] = $new_path;
$config['wm_text'] = 'Copyright 2019';
$config['wm_type'] = 'text';
$config['wm_font_path'] = './system/fonts/texb.ttf';
$config['wm_font_size'] = '8';
$config['wm_font_color'] = '000000';
$config['wm_vrt_alignment'] = 'bottom';
$config['wm_hor_alignment'] = 'right';

使用这个代码,你就会得到水印,只需选择你想要的文本的颜色

相关内容

  • 没有找到相关文章

最新更新