/**
* [addText 资质证书添加文字水印]
* @param [type] $path [图片的绝对路劲]
*/
public function addText($path)
{
$waterText = '今晚打老虎';
$textColor = 'white';
$shadowColor = 'black';
$textOpa = 0.35;
$letterSpace = 1;
$fontSize = 50;
$image = new \Imagick($path);
$imgProperty = $image->getImageGeometry();
$imgWidth = $imgProperty['width'];
$imgHeight = $imgProperty['height'];
$draw = new \ImagickDraw();
//字体文字地址
$font = WEB_ROOT.'assets/fontawesome/webfonts/font.ttf';
//设置水印字体文字
$draw->setFont($font);
$draw->setFillColor($textColor);
$draw->setFillOpacity($textOpa);
$draw->setTextKerning($letterSpace);
$draw->setTextEncoding('UTF-8');
$draw->setGravity(\Imagick::GRAVITY_CENTER);
$draw->setFontSize($fontSize);
// $draw->setFontWeight(100);
$draw->annotation(0, 0, $waterText);
$text = new \Imagick();
$metrix = $text->queryFontMetrics($draw, $waterText);
$text->newImage($metrix['textWidth'], $metrix['textHeight'], 'none');
$text->setImageFormat('png');
$text->drawImage($draw);
$shadow = clone $text;
$shadow->setImageBackgroundColor(new \ImagickPixel($shadowColor));
$shadow->shadowImage(50, 0.5, 0, 0);
$shadow->compositeImage($text, \Imagick::COMPOSITE_OVER, 0, 0);
//设置文字水印位置
$image->compositeImage($shadow, $shadow->getImageCompose(), ($imgWidth - $metrix['textWidth']) - 20, ($imgHeight - $metrix['textHeight']) - 20);
// return $image->writeImage($path);
header("Content-Type: image/{$image->getImageFormat()}");
echo $image->getImagesBlob();
}
最后传参调用下就好了 t h i s − > a d d T e x t ( this->addText( this−>addText(base_path.$url);