广告
返回顶部
首页 > 资讯 > 后端开发 > PHP编程 >PHP如何生成随机水印图片
  • 878
分享到

PHP如何生成随机水印图片

2024-04-02 19:04:59 878人浏览 泡泡鱼
摘要

这篇文章主要介绍PHP如何生成随机水印图片,文中介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们一定要看完!一、需求网站的布局用到了类似慕课网课程列表的风格,每一个课程是一个banner图,图下面是标题

这篇文章主要介绍PHP如何生成随机水印图片,文中介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们一定要看完!

一、需求

网站的布局用到了类似慕课网课程列表的风格,每一个课程是一个banner图,图下面是标题加简介。因为课程的数量较大没有为所有的课程设计专门的banner,所以需要按照一定的规则,来自己生成图片(本打算用div布局来解决,但div+img在响应式布局中不是很好控制)。

二、工具&素材

1.php开启GD图形库扩展
2.准备多个小的水印图
3.获取预生成图片的背景色RGB值

三、代码

生成图片的过程,代码中做了详细的注释。

class GenerateRandomImage{    
    public $imgWidth  = 272;
    
    public $imgHeight = 162;
    
    public $type = '';
    
    public $text = '';
    
    public $fontSize = 16;

    public function __construct($type, $text)
    {        $this->type = $type;
        $this->text = $text;
    }    
    public function createImg()
    {        
        $backgroundColor = p_w_picpathcolorallocate($p_w_picpath, $rgb['r'], $rgb['g'], $rgb['b']);
        
        $textColor = p_w_picpathcolorallocate($p_w_picpath, 255, 255, 255);
        
        $font = $_SERVER['DOCUMENT_ROOT'].'/public/font/simhei.ttf';

        $x = 18;//文字起始位置x坐标
        $y = 50;//文字起始位置y坐标
        
        $angle = 0;//角度0
        p_w_picpathttftext($p_w_picpath, $this->fontSize, $angle, $x, $y, $textColor, $font, $this->text);
        
        $waterImgPath = $this->randWaterImage();
        
        $waterInfo    = getp_w_picpathsize($waterImgPath);
        
        $waterType    = p_w_picpath_type_to_extension($waterInfo[2], false);//获取文件类型

        $createImageFunc = 'p_w_picpathcreatefrom'.$waterType;
        
        $mask = $createImageFunc($waterImgPath);
        $posX = $this->imgWidth  - $waterInfo[0];//水印图片,在目标图片中的位置的x坐标
        $posY = $this->imgHeight - $waterInfo[1];//水印图片,在目标图片中的位置的y坐标
        
        header("Content-Type:p_w_picpath/png");
        
        p_w_picpathcopy($p_w_picpath, $mask, $posX, $posY, 0, 0, $waterInfo[0], $waterInfo[1]);
        p_w_picpathpng($p_w_picpath);//输入图片到浏览器或者文件
        p_w_picpathdestroy($p_w_picpath);//销毁图片
    } 
    
    public function getBackground()
    {        $background = [
            '1'=>['r'=>0,  'g'=>160,'b'=>233],
            '2'=>['r'=>198,'g'=>0,  'b'=>110],
            '3'=>['r'=>237,'g'=>109,'b'=>0],
            '4'=>['r'=>33, 'g'=>148,'b'=>75],
            '5'=>['r'=>63, 'g'=>58, 'b'=>57],           
            '6'=>['r'=>202,'g'=>162,'b'=>101],
        ];
        return $background[$this->type];
    }    
    public function randWaterImage()
    {        $folder = [
            '1'=>'product','2'=>'team','3'=>'architecture','4'=>'developer','5'=>'test','6'=>'engineer'
        ];
        $targetFolder = $_SERVER['DOCUMENT_ROOT'].'/public/p_w_picpaths/role/'.$folder[$this->type].'/'.rand(1,38).'.png';
        return $targetFolder;
    }
}$p_w_picpath = new GenerateRandomImage(1,"扛得住的Mysql数据架构");$p_w_picpath->createImg();

这样我们就可以直接在页面中使用 <img src="Http://xxx.com/GenerateRandomImage.php" />来直接显示图片。

以上是“PHP如何生成随机水印图片”这篇文章的所有内容,感谢各位的阅读!希望分享的内容对大家有帮助,更多相关知识,欢迎关注编程网PHP编程频道!

--结束END--

本文标题: PHP如何生成随机水印图片

本文链接: https://www.lsjlt.com/news/80443.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

本篇文章演示代码以及资料文档资料下载

下载Word文档到电脑,方便收藏和打印~

下载Word文档
猜你喜欢
  • PHP如何生成随机水印图片
    这篇文章主要介绍PHP如何生成随机水印图片,文中介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们一定要看完!一、需求网站的布局用到了类似慕课网课程列表的风格,每一个课程是一个banner图,图下面是标题...
    99+
    2022-10-19
  • PHP中怎么实现生成图片水印
    PHP中怎么实现生成图片水印,针对这个问题,这篇文章详细介绍了相对应的分析和解答,希望可以帮助更多想解决这个问题的小伙伴找到更简单易行的方法。文本水印我们使用函数watermark_text()来生成文本水印,你必须先指定字体源文件、字体大...
    99+
    2023-06-17
  • php如何图片增加水印
    这篇文章给大家分享的是有关php如何图片增加水印的内容。小编觉得挺实用的,因此分享给大家做个参考,一起跟随小编过来看看吧。php图片增加水印的方法:1、通过“waterText('banner.jpg', 9, '&...
    99+
    2023-06-15
  • java实现随机验证码图片生成
    本文实例为大家分享了java生成随机验证码图片的具体代码,供大家参考,具体内容如下 1.controller @GetMapping(value = "/getRan...
    99+
    2022-11-12
  • php如何生成随机数
    这篇文章主要介绍php如何生成随机数,文中介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们一定要看完!php生成随机数的方法非常简单,因为php内部为我们提供了现成的随机数方法。因此我们并不需要进行额外配置,只需要调用内部方法即可。ph...
    99+
    2023-06-06
  • Python如何生成随机高斯模糊图片详解
    高斯模糊的介绍与原理 通常,图像处理软件会提供"模糊"(blur)滤镜,使图片产生模糊的效果。 "模糊"的算法有很多种,其中有一种叫做"高斯模糊"(Gaussian Blur)。它将...
    99+
    2022-11-12
  • Python实现随机生成图片验证码详解
    使用python生成一个图片验证码,随机的,可以由于验证人机和别的啊,很方便很简单 导入模块 import random from PIL import Image,ImageFon...
    99+
    2022-11-13
  • java怎么实现随机验证码图片生成
    这篇文章主要介绍“java怎么实现随机验证码图片生成”,在日常操作中,相信很多人在java怎么实现随机验证码图片生成问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”java怎么实现随机验证码图片生成”的疑惑有所...
    99+
    2023-06-25
  • Python如何为图片添加水印
    添加水印的主要目的是为了版权保护,使自己的图像不被抄袭或者恶意转载。网上有很多制作水印的工具,本帖介绍怎么使用Python-Pillow库给图片添加水印。 使用ImageMagick添加图片水印-Linux...
    99+
    2022-06-04
    水印 何为 图片
  • php如何生成随机字符串
    在php中使用str_shuffle()和substr()函数随机生成字符串,具体方法如下:首先,新建一个php项目文件;php项目文件新建好后,在文件中定义生成字符串的范围;$str = 'aodnymcueifghw';字符串...
    99+
    2022-10-03
  • 如何在PHP中生成随机数
    在PHP中生成随机数可以使用内置的rand()函数或者使用random_int()函数,具体如下:1. 使用rand()函数:```...
    99+
    2023-08-15
    PHP
  • nginx如何通过PHP代理给图片加水印
    本篇内容主要讲解“nginx如何通过PHP代理给图片加水印”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“nginx如何通过PHP代理给图片加水印”吧!nginx 配置代理location&nbs...
    99+
    2023-07-02
  • 怎么用Python实现随机生成图片验证码
    本篇内容主要讲解“怎么用Python实现随机生成图片验证码”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“怎么用Python实现随机生成图片验证码”吧!导入模块import random...
    99+
    2023-06-26
  • 如何使用python给图片加水印
    这篇文章主要介绍如何使用python给图片加水印,文中介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们一定要看完!方式一:叠加文字水印最简单的一种方式是,在图片上绘制半透明文本来实现水印效果。主要用到Figure.text函数参数类型说...
    99+
    2023-06-15
  • PHP如何随机生成用户信息
    小编给大家分享一下PHP如何随机生成用户信息,希望大家阅读完这篇文章之后都有所收获,下面让我们一起去探讨吧!随机生成号码  function generate_name($count,$type="a...
    99+
    2023-06-22
  • Android自定义View绘制随机生成图片验证码
    本篇文章讲的是Android自定义View之随机生成图片验证码,开发中我们会经常需要随机生成图片验证码,但是这个是其次,主要还是想总结一些自定义View的开发过程以及一些需要注...
    99+
    2022-06-06
    view 图片 验证码 Android
  • shell如何生成随机数
    这篇文章主要为大家展示了“shell如何生成随机数”,内容简而易懂,条理清晰,希望能够帮助大家解决疑惑,下面让小编带领大家一起研究并学习一下“shell如何生成随机数”这篇文章吧。 shell 生成随机数的实现方法总结1. 使用系...
    99+
    2023-06-09
  • python随机数如何生成
    在Python中,可以使用random模块来生成随机数。以下是几种常见的生成随机数的方法:1. 生成一个0到1之间的随机浮点数,使用...
    99+
    2023-09-25
    python
  • JS如何生成随机数
    这篇文章给大家分享的是有关JS如何生成随机数的内容。小编觉得挺实用的,因此分享给大家做个参考,一起跟随小编过来看看吧。具体如下:1. Math.random()生成一个0~1的随机数 0<=Math....
    99+
    2022-10-19
  • JS随机数如何生成
    这篇“JS随机数如何生成”文章的知识点大部分人都不太理解,所以小编给大家总结了以下内容,内容详细,步骤清晰,具有一定的借鉴价值,希望大家阅读完这篇文章能有所收获,下面我们一起来看看这篇“JS随机数如何生成”...
    99+
    2022-10-19
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作