Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/image/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/codeigniter/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Image 在图片中添加水印后质量下降_Image_Codeigniter_Codeigniter 2 - Fatal编程技术网

Image 在图片中添加水印后质量下降

Image 在图片中添加水印后质量下降,image,codeigniter,codeigniter-2,Image,Codeigniter,Codeigniter 2,我正在开发一个尚未创建/开发的网站 不管怎样,用户可以上传图像,当他们上传图像时,有一个功能可以创建带有水印的图像副本 http://img.akstube.ir/images/2013/05/irwm_DSC_0168_69_70_tonemapped.jpg 但带有水印的拷贝质量较低,而且拷贝的大小比原始图像小得多 我没有看到任何降低质量的东西,也许是CI水印的工作方式 无水印 http://img.akstube.ir/images/2013/05/DSC_0168_69_70_tone

我正在开发一个尚未创建/开发的网站

不管怎样,用户可以上传图像,当他们上传图像时,有一个功能可以创建带有水印的图像副本

http://img.akstube.ir/images/2013/05/irwm_DSC_0168_69_70_tonemapped.jpg
但带有水印的拷贝质量较低,而且拷贝的大小比原始图像小得多

我没有看到任何降低质量的东西,也许是CI水印的工作方式

无水印

http://img.akstube.ir/images/2013/05/DSC_0168_69_70_tonemapped.jpg
带水印

http://img.akstube.ir/images/2013/05/irwm_DSC_0168_69_70_tonemapped.jpg
下面是函数

function ir_watermark($file,$name='',$rebuild=FALSE)
{

  $ci = &get_instance();


  $pathinfo = pathinfo($file);
  $filename = $pathinfo['basename'];
  $path = $pathinfo['dirname'];
  $new_image = $path . '/irwm_'. $filename;
  $path_to_img = base_url(str_replace(base_path(),'',$new_image));


  if ($rebuild == FALSE)
  if (file_exists($new_image))
  {


  if ($ci->uri->segment(1) == 'test')
  echo "<img src='{$path_to_img}' />";

  return $path_to_img;
  }


  $config['source_image']   = $file;
  $config['new_image']  = $new_image;
  $config['wm_type'] = 'overlay';
  $config['wm_overlay_path'] = base_path('/files/transparent_bar.png');
  $config['wm_font_path'] = base_path('application/assets/view/tahomabd.ttf');
  $config['wm_font_size']   = '8';
  $config['wm_font_color'] = 'ffffff';
  $config['wm_vrt_alignment'] = 'bottom';
  $config['wm_hor_alignment'] = 'left';
  $config['wm_hor_offset'] = '0';
  $config['wm_vrt_offset'] = '0';

  $ci->image_lib->initialize($config); 
  $ci->image_lib->watermark(); 

  $config['new_image'] = $config['new_image'];
  $config['source_image']   = $config['new_image'];

  $config['wm_hor_offset'] = '10';
  $config['wm_vrt_offset'] = '2';

  $config['wm_overlay_path'] = base_path('/files/akstube_logo6.png');
  $ci->image_lib->initialize($config); 
  $ci->image_lib->watermark(); 


  $config['wm_type'] = 'text';
  $config['wm_vrt_offset'] = '-3';

  $config['wm_text'] = 'Photo : ' . $name;
  $config['wm_text'] = strtoupper($config['wm_text']);

  $config['wm_hor_alignment'] = 'right';
  $config['wm_hor_offset'] = '-50%';

  $ci->image_lib->initialize($config); 
  $ci->image_lib->watermark(); 


  if ($ci->uri->segment(1) == 'test')
  echo "<img src='{$path_to_img}' />";

  return $path_to_img;
}

添加水印后,将重新压缩JPEG图像。这个过程是有损的<代码>图像库如果未进行其他配置,则使用默认质量90%。但颜色似乎也发生了变化。你能给我们看一下水印图像文件吗?亲爱的max,关于大小,我看到两幅图像的大小相同。关于质量,我没有看到质量损失,但我看到亮度增加。在任何情况下,为了确保质量,请在配置中添加选项quality:$config['quality']=“100%”其他选项您可以在此处查看:@pixelistik谢谢,我已在问题末尾添加了图像,我要100%试试QUALITY@Madthew大小有600KB的差异,可能你误解了我所说的大小是:-)无论如何,我已经检查了这两张图片。有水印的一个是由:CREATOR:gd-jpeg v1.0(使用IJG-jpeg v62)制作的,质量为90,dpi为72x72,没有EXIF数据。最初的版本是:240x240 dpi,包含大量exif数据,包括一个缩略图。两者都是真正的jpeg。原始版本使用ADOBE颜色配置文件,而带水印的版本使用内置的SRGB。你试过改变质量吗?