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。你试过改变质量吗?