随笔 - 317, 文章 - 0, 评论 - 453, 阅读 - 114万
  博客园  :: 首页  :: 新随笔  :: 订阅 订阅  :: 管理

PHP 服务器端图片文字合成

Posted on   PHP-张工  阅读(388)  评论(0编辑  收藏  举报

需求分析

打印店经常需要套打功能,如员工工牌等。
固定图片上绘制动态文字内容。
网页上有时也需要将动态文字嵌入到图片,方便图片分享。
或者根据内容动态生产条码或二维码。
相比前端创建图片,使用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

参考资料:

编辑推荐:
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 基于Microsoft.Extensions.AI核心库实现RAG应用
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
· 开发者必知的日志记录最佳实践
阅读排行:
· winform 绘制太阳,地球,月球 运作规律
· 超详细:普通电脑也行Windows部署deepseek R1训练数据并当服务器共享给他人
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· AI 智能体引爆开源社区「GitHub 热点速览」
· 写一个简单的SQL生成工具
历史上的今天:
2010-12-22 Flex滤镜DEMO
点击右上角即可分享
微信分享提示