21,886
社区成员
发帖
与我相关
我的任务
分享
function waterMark($groundImage , $waterPos, $waterImage, $waterText, $textFont, $textColor,$minWidth,$minHeight,$alpha){
$isWaterImg = FALSE;
$bg_h = $bg_w = $water_h = $water_w = 0;
//获取背景图的高,宽
if(is_file($groundImage) && !empty($groundImage)){
$bg = new Imagick();
$bg ->readImage($groundImage);
$bg_h = $bg->getImageHeight();
$bg_w = $bg->getImageWidth();
}
//获取水印图的高,宽
if(is_file($waterImage) && !empty($waterImage)){
$water = new Imagick($waterImage);
$water_h = $water->getImageHeight();
$water_w = $water->getImageWidth();
}
//如果背景图的高宽小于水印图的高宽或指定的高和宽则不加水印
if($bg_h < $minHeight || $bg_w < $minWidth || $bg_h < $water_h || $bg_w < $water_w ) {
return ;
}else {
$isWaterImg = TRUE;
}
//加水印
if($isWaterImg){
$dw = new ImagickDraw();
//加图片水印
if(is_file($waterImage)){
$water->setImageOpacity($alpha);
$dw -> setGravity($waterPos);
$dw -> composite($water->getImageCompose(),0,0,50,0,$water);
$bg -> drawImage($dw);
if(!$bg -> writeImage($groundImage)){
return FALSE;
}
}else{
//加文字水印
$dw -> setFontSize($textFont);
$dw -> setFillColor($textColor);
$dw -> setGravity($waterPos);
$dw -> setFillAlpha($alpha);
$dw -> annotation(0,0,$waterText);
$bg -> drawImage($dw);
if(!$bg -> writeImage($groundImage)){
return FALSE;
}
}
}
}
phpinfo();