function insert_watermark($min_image)
{ global $config;
$margin = 7;
$this->watermark_image_light = ROOT_DIR.'/templates/'.$config['skin'].'/dleimages/watermark_light.png';
$this->watermark_image_dark = ROOT_DIR.'/templates/'.$config['skin'].'/dleimages/watermark_dark.png';
$image_width = imagesx($this->img['src']);
$image_height = imagesy($this->img['src']);
list($watermark_width, $watermark_height)
= getimagesize($this->watermark_image_light);
$watermark_x = $image_width - $margin - $watermark_width;
$watermark_y = $image_height - $margin - $watermark_height;
$watermark_x2 = $watermark_x + $watermark_width;
$watermark_y2 = $watermark_y + $watermark_height;
if ($watermark_x < 0 OR $watermark_y < 0 OR
$watermark_x2 > $image_width OR $watermark_y2 > $image_height OR
$image_width < $min_image OR $image_height < $min_image)
{
return;
}
$test = imagecreatetruecolor(1, 1);
imagecopyresampled($test, $this->img['src'], 0, 0, $watermark_x, $watermark_y, 1, 1, $watermark_width, $watermark_height);
$rgb = imagecolorat($test, 0, 0);
$r = ($rgb >> 16) & 0xFF;
$g = ($rgb >> 8) & 0xFF;
$b = $rgb & 0xFF;
$max = min($r, $g, $b);
$min = max($r, $g, $b);
$lightness = (double)(($max + $min) / 510.0);
imagedestroy($test);
$watermark_image = ($lightness < 0.5) ? $this->watermark_image_light : $this->watermark_image_dark;
$watermark = imagecreatefrompng($watermark_image);
imagealphablending($this->img['src'], TRUE);
imagealphablending($watermark, TRUE);
imagecopy($this->img['src'], $watermark, $watermark_x, $watermark_y, 0, 0,$watermark_width, $watermark_height);
imagedestroy($watermark);
}