zoukankan      html  css  js  c++  java
  • PHP 服务器端图片文字合成

    需求分析

    打印店经常需要套打功能,如员工工牌等。
    固定图片上绘制动态文字内容。
    网页上有时也需要将动态文字嵌入到图片,方便图片分享。
    或者根据内容动态生产条码或二维码。
    相比前端创建图片,使用PHP后台实现,可以简化前台调用代码,更灵活方便。

    条码生成

    /img_text/barcode.php?v=123&scale=2&height=25&backcolor=#ffffff&forecolor=#000000

    参数说明:

    v:         条码内容【必填】
    scale:     放大倍数,默认 2
    height:    高度,默认 25
    backcolor: 背景颜色,默认 #ffffff
    forecolor: 绘制颜色,默认 #000000

    二维码生成

    /img_text/qrcode.php?v=123&size=300&padding=10

    参数说明:

    v:         二维码内容【必填】
    size:      大小,默认 300
    padding:   边距,默认 10

    图文嵌套

    /img_text/index.php?t=card&v=abc|123&o=png

    参数说明:

    t: 类型【必填】
    v: 文本内容【必填】文字段落之间使用 | 分割

    o: 输出类型,默认 png

    配置说明:

    {
        "img_back": "card.jpg",
        "img_fore": "img.png",
        "text_list": [
            {
                "top": null,
                "left": null,
                "right": 10,
                "bottom": 30,
                "size": 30,
                "rgba": "0,255,0,0.7",
                "angle": 0,
                "text": "{now}"
            }
        ],
        "qrcode_list": [
            {
                "x": 250,
                "y": 20,
                "padding": 10,
                "size": 100,
                "back_rgba": "255,255,255,0.7",
                "text": "{0}"
            }
        ]
    }

    模板配置中 text 值 {0} 将替换为第一个文本参数。
    预设的配置:

    <?php
    $list = [
        '{ip}'         => $_SERVER["REMOTE_ADDR"],
        '{now}'        => date('Y-m-d H:i:s'),
        '{user_agent}' => $_SERVER['HTTP_USER_AGENT'],
        '{date}'       => date('Y-m-d'),
        '{time}'       => date('H:i:s'),
        '{today}'      => date('Y年m月d日'),
    ];

    实现效果:

    源代码下载:

    https://files.cnblogs.com/files/zjfree/img_text.zip

    参考资料:

  • 相关阅读:
    ASP获取上月本月下月的第一天和最后一天
    JS表单提交
    JS分段传输数据
    SQLServer存储过程实现单条件分页
    ASP从HTML标签中提取中文
    ViewData、ViewBag和 TempData
    Java 第十一届 蓝桥杯 省模拟赛 小明的城堡
    Java实现DFS深度优先查找
    Java实现BFS广度优先查找
    Java实现二分查找(折半查找)
  • 原文地址:https://www.cnblogs.com/zjfree/p/14172124.html
Copyright © 2011-2022 走看看