douhang8991
2016-09-18 07:45
浏览 128
已采纳

如何在右下方的文本环绕图像中添加图像水印?

Here is the code to generate a text-wrapping image. How can I add a image watermark to the text-wrapping image on bottom right ? Thanks.

private function warpTextImage($text)
{
    $font = $this->font;
    $text_dimensions = imagettfbbox(30, 0, $font, $text);
    $text_width = abs($text_dimensions[4] - $text_dimensions[0]);
    $text_height = abs($text_dimensions[5] - $text_dimensions[1]);
    $img_width = abs($text_dimensions[4] - $text_dimensions[0]) + 40;
    $img_height = abs($text_dimensions[5] - $text_dimensions[1]) + 40;
    $image = imagecreate($img_width, $img_height);
    $background = imagecolorallocate($image, $this->background_color[0], $this->background_color[1], $this->background_color[2]);
    $color = imagecolorallocate($image, $this->text_color[0], $this->text_color[1], $this->text_color[2]);
    $x = ($img_width - $text_width) / 2 - 4;
    $y = ($img_height - $text_height) / 2 + 30;
    imagettftext($image, 30, 0, $x, $y, $color, $font, $text);
    return $image;
}

图片转代码服务由CSDN问答提供 功能建议

以下是生成文本换行图像的代码。 如何在右下方的文本环绕图像中添加图像水印? 谢谢。

 私有函数warpTextImage($ text)
 {
 $ font = $ this-> font; 
 $ text_dimensions = imagettfbbox(30,0,$  font,$ text); 
 $ text_width = abs($ text_dimensions [4]  -  $ text_dimensions [0]); 
 $ text_height = abs($ text_dimensions [5]  -  $ text_dimensions [1]); 
 $ img_width  = abs($ text_dimensions [4]  -  $ text_dimensions [0])+ 40; 
 $ img_height = abs($ text_dimensions [5]  -  $ text_dimensions [1])+ 40; 
 $ image = imagecreate($ img_width,  $ img_height); 
 $ background = imagecolorallocate($ image,$ this-> background_color [0],$ this-> background_color [1],$ this-> background_color [2]); 
 $ color =  imagecolorallocate($ image,$ this-> text_color [0],$ this-> text_color [1],$ this-> text_color [2]); 
 $ x =($ img_width  -  $ text_width)/ 2  -  4; 
 $ y =($ img_height  -  $ text_height)/ 2 + 30; 
 imagettftext($ image,30,0,$ x,$ y,$ color,$ font,$ text); 
返回 $ image; 
} 
   
 
  • 写回答
  • 好问题 提建议
  • 追加酬金
  • 关注问题
  • 邀请回答

1条回答 默认 最新

  • douhongxie5436 2016-09-18 07:49
    最佳回答

    You can use insert() method of Intervention package for this:

    $img->insert('public/watermark.png', 'bottom-right', 10, 10);
    
    评论
    解决 无用
    打赏 举报

相关推荐 更多相似问题