帝国CMS自动生成标题图片并写进数据库

news2024/12/23 23:03:11

帝国CMS背景可自定义,可单独背景也可以随机背景,此插件根帝国cms官方论坛帖子改的,增加了生成图片后写入数据库,笔者的古诗词网 www.gushichi.com 也是这样设置的。

效果图

将下面的代码插入到/e/class/userfun.php中增加如下函数

单独背景代码

//自动生成图片
function Cyimg($classid,$id,$width='512',$height='340',$bg='',$path='d/file/titlepic/'){
    global $dbtbpre,$empire,$class_r,$public_r;
    $bg = ECMS_PATH.'/bazhepu/images/titlepicbg.png';//背景图片存放的路径  指定一张图片
    $tbname = $class_r[$classid]['tbname'];
    $r=$empire->fetch1("select * from {$dbtbpre}ecms_{$tbname} where id='$id' limit 1");
    $mycr=GetPathname($class_r[$r['classid']]['classpath']);//栏目目录
    $classpath=$mycr[0];//获取栏目目录
    $path = $path.$classpath.$r['id'].'.png';//保存的图片名称
    $file = ECMS_PATH.$path;//图片的绝对地址
    if(!file_exists($file)){//判断图片是否存在    测试的时候把!去掉   正式使用时加上就可以了
        $font = ECMS_PATH."/bazhepu/font/PingFangMedium.ttf";//你需要的字体路径
        $myImage=imagecreatefrompng($bg);//背景图片
        $blue=imagecolorallocate($myImage, 210, 95, 50);//设置字体颜色
        $fontBox = imagettfbbox(55, 0, $font ,$r['title']);//获取文字所需的尺寸大小
        $width = ceil(($width - $fontBox[2]) / 2) + 20;//计算文字所需宽度  居中   后面加的数字表示偏移多少
        $height = ceil(($height - $fontBox[1] - $fontBox[7]) / 2) - 35;//计算文字所需高度 居中 后面加的数字表示偏移多少
        imagettftext($myImage, 48, 0, $width, $height, $blue, $font, $r['title']); //生成图片
        imagepng($myImage,$file); //保存图片
        imagedestroy($myImage);//释放内存

        // 更新数据
        $empire->query("update {$dbtbpre}ecms_{$tbname} set titlepic = '".$path."'  where id= '$id'");
    }
    return $public_r['newsurl'].$path;//返回图片路径
}

随机背景代码

function Cyimg($classid,$id,$width='512',$height='340',$bg='',$path='d/file/titlepic/'){
    global $dbtbpre,$empire,$class_r,$public_r;
    $bgnum = rand(1,9);//随机数字图片名字
    $bg = ECMS_PATH.'/bazhepu/images/'.$bgnum.'.png';//背景图片存放的路径  随机多张图片
    $tbname = $class_r[$classid]['tbname'];
    $r=$empire->fetch1("select * from {$dbtbpre}ecms_{$tbname} where id='$id' limit 1");
    $mycr=GetPathname($class_r[$r['classid']]['classpath']);//栏目目录
    $classpath=$mycr[0];//获取栏目目录
    $path = $path.$classpath.$r['id'].'.png';//保存的图片名称
    $file = ECMS_PATH.$path;//图片的绝对地址
    if(!file_exists($file)){//判断图片是否存在    测试的时候把!去掉   正式使用时加上就可以了
        $font = ECMS_PATH."/bazhepu/font/PingFangMedium.ttf";//你需要的字体路径
        $myImage=imagecreatefrompng($bg);//背景图片
        $blue=imagecolorallocate($myImage, 210, 95, 50);//设置字体颜色
        $fontBox = imagettfbbox(55, 0, $font ,$r['title']);//获取文字所需的尺寸大小
        $width = ceil(($width - $fontBox[2]) / 2) + 20;//计算文字所需宽度  居中   后面加的数字表示偏移多少
        $height = ceil(($height - $fontBox[1] - $fontBox[7]) / 2) - 35;//计算文字所需高度 居中 后面加的数字表示偏移多少
        imagettftext($myImage, 48, 0, $width, $height, $blue, $font, $r['title']); //生成图片
        imagepng($myImage,$file); //保存图片
        imagedestroy($myImage);//释放内存

        // 更新数据
        $empire->query("update {$dbtbpre}ecms_{$tbname} set titlepic = '".$path."'  where id= '$id'");
    }
    return $public_r['newsurl'].$path;//返回图片路径
}

内容页调用代码

<img src="<?=Cyimg($navinfor['classid'],$navinfor['id'])?>" />

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/2264446.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

5G -- 5G网络架构

5G组网场景 从4G到5G的网络演进&#xff1a; 1、UE -> 4G基站 -> 4G核心网 * 部署初中期&#xff0c;利用存量网络&#xff0c;引入5G基站&#xff0c;4G与5G基站并存 2、UE -> (4G基站、5G基站) -> 4G核心网 * 部署中后期&#xff0c;引入5G核心网&am…

达梦官方工具 SQLark数据迁移(oracle->达梦数据库)

应国产化需求需要,需将系统中涉及的各中间件替换成国产中间件,此文介绍了从Oracle迁移数据至达梦dm8的步骤,该文在windos环境下已验证测试过 1 SQLark介绍 SQLark是一款专为信创应用开发者设计的数据库开发和管理工具。它支持快速查询、创建和管理多种类型的数据库系统&#xf…

【Mac】安装 PaddleOCR

环境&#xff1a;Mac M1 芯片 1、安装 1.1 安装 Anaconda Anaconda 安装较为简单&#xff0c;直接在 Anaconda 官网 下载pkg文件&#xff0c;根据向导提示完成安装。 Anaconda 用于搭建 Python 虚拟环境&#xff0c;目的是为了避免与之前环境安装库的版本冲突&#xff0c;另…

AI的进阶之路:从机器学习到深度学习的演变(二)

AI的进阶之路&#xff1a;从机器学习到深度学习的演变&#xff08;一&#xff09; 三、机器学习&#xff08;ML&#xff09;&#xff1a;AI的核心驱动力 3.1 机器学习的核心原理 机器学习&#xff08;Machine Learning, ML&#xff09;突破了传统编程的局限&#xff0c;它不再…

渗透测试实战—某医院安全评估测试

免责声明&#xff1a;文章来源于真实渗透测试&#xff0c;已获得授权&#xff0c;且关键信息已经打码处理&#xff0c;请勿利用文章内的相关技术从事非法测试&#xff0c;由于传播、利用此文所提供的信息或者工具而造成的任何直接或者间接的后果及损失&#xff0c;均由使用者本…

垂起固定翼无人机大面积森林草原巡检技术详解

垂起固定翼无人机大面积森林草原巡检技术是一种高效、精准的监测手段&#xff0c;以下是对该技术的详细解析&#xff1a; 一、垂起固定翼无人机技术特点 垂起固定翼无人机结合了多旋翼和固定翼无人机的优点&#xff0c;具备垂直起降、飞行距离长、速度快、高度高等特点。这种无…

2024年《网络安全事件应急指南》

在这个信息技术日新月异的时代&#xff0c;网络攻击手段的复杂性与日俱增&#xff0c;安全威胁层出不穷&#xff0c;给企事业单位的安全防护能力带 来了前所未有的挑战。深信服安全应急响应中心&#xff08;以下简称“应急响应中心”&#xff09;编写了《网络安全事件应急指南》…

PHP阶段一

PHP 一门编程语言 运行在服务器端 专门用户开发网站的 脚本后缀名.php 与HTML语言进行混编&#xff0c;脚本后缀依然是.php 解释型语言&#xff0c;不要编译直接运行 PHP运行需要环境&#xff1a; Windows phpstudy Linux 单独安装 Web 原理简述 1、打开浏览器 2、输入u…

【C#】实现Json转Lua (Json2Lua)

关键词: C#、JsonToLua、Json2Lua、对象序列化Lua 前提需引入NewtonsofJson&#xff0c;引入方法可先在Visual Studio 2019 将Newtonsoft.Json.dll文件导入Unity的Plugins下。 Json格式字符串转Lua格式字符串&#xff0c;效果如下&#xff1a; json字符串 {"1": &q…

GM_T 0039《密码模块安全检测要求》题目

单项选择题 根据GM/T 0039《密码模块安全检测要求》,送检单位的密码模块应包括()密码主管角色。 A.一个 B.两个 C.至少一个 D.至少两个 正确答案:C 多项选择题 根据GM/T 0039《密码模块安全检测要求》,关于非入侵式安全,以下属于安全三级密码模块要求的是()。 …

在 Ubuntu 上安装 Muduo 网络库的详细指南

在 Ubuntu 上安装 Muduo 网络库的详细指南 首先一份好的安装教程是非常重要的 C muduo网络库知识分享01 - Linux平台下muduo网络库源码编译安装-CSDN博客 像这篇文章就和shit一样&#xff0c;安装到2%一定会卡住&#xff0c;如果你不幸用了这个那真是遭老罪了 环境&#xf…

MySQL存储引擎-数据文件

InnoDB数据文件存储结构 分为一个ibd数据文件–>Segment&#xff08;段&#xff09;–>Extent&#xff08;区&#xff09;–>Page&#xff08;页&#xff09;–>Row&#xff08;行&#xff09; Tablesapce 表空间&#xff0c;用于存储多个ibd数据文件&#xff…

医药垃圾分类管理系统|Java|SSM|JSP|

【技术栈】 1⃣️&#xff1a;架构: B/S、MVC 2⃣️&#xff1a;系统环境&#xff1a;Windowsh/Mac 3⃣️&#xff1a;开发环境&#xff1a;IDEA、JDK1.8、Maven、Mysql5.7 4⃣️&#xff1a;技术栈&#xff1a;Java、Mysql、SSM、Mybatis-Plus、JSP、jquery,html 5⃣️数据库可…

深度学习之目标检测篇——残差网络与FPN结合

特征金字塔多尺度融合特征金字塔的网络原理 这里是基于resnet网络与Fpn做的结合&#xff0c;主要把resnet中的特征层利用FPN的思想一起结合&#xff0c;实现resnet_fpn。增强目标检测backone的有效性。代码实现如下&#xff1a; import torch from torch import Tensor from c…

多协议视频监控汇聚/视频安防系统Liveweb搭建智慧园区视频管理平台

智慧园区作为现代化城市发展的重要组成部分&#xff0c;不仅承载着产业升级的使命&#xff0c;更是智慧城市建设的重要体现。随着产业园区竞争的逐渐白热化&#xff0c;将项目打造成完善的智慧园区是越来越多用户关注的内容。 然而我们往往在规划前期就开始面临众多难题&#…

【WPF】把DockPanel的内容生成图像

要在WPF中将一个 DockPanel 的内容生成为图像并保存&#xff0c;可以按照与之前类似的步骤进行&#xff0c;但这次我们将专注于 DockPanel 控件而不是整个窗口。 DockPanel的使用 WPF&#xff08;Windows Presentation Foundation&#xff09;中的 DockPanel 是一种布局控件&…

【电商推荐】平衡效率与效果:一种优化点击率预测的LLM融合方法

【电商推荐】平衡效率与效果&#xff1a;一种优化点击率预测的LLM融合方法 目录 文章目录 【电商推荐】平衡效率与效果&#xff1a;一种优化点击率预测的LLM融合方法目录文章摘要研究背景问题与挑战如何解决创新点算法模型多级知识蒸馏模块&#xff08;MKDM&#xff09;多级知识…

Y3编辑器教程6:触发器进阶案例

文章目录 一、地形制作1.1 地形制作流程1.2 关卡白盒1.3 场景美化1.4 优化场景 二、触发结构三、玩家指引&#xff08;函数封装&#xff09;3.1 项目拆解3.2 功能实现3.2.1 绘制UI界面3.2.2 UI的读取显示和刷新3.2.3 交互功能3.2.4 最终实现 四、NPC对话系统4.1 项目拆解4.2 UI…

2024年11月 蓝桥杯青少组 STEMA考试 Scratch真题

2024年11月 蓝桥杯青少组 STEMA考试 Scratch真题&#xff08;选择题&#xff09; 题目总数&#xff1a;5 总分数&#xff1a;50 选择题 第 1 题 单选题 Scratch运行以下程宇后&#xff0c;小兔子会&#xff08; &#xff09;。 A. 变小 B. 变大 C. 变色 D. …

ZED-OpenCV项目运行记录

项目地址&#xff1a;GitCode - 全球开发者的开源社区,开源代码托管平台 使用 ZED 立体相机与 OpenCV 进行图像处理和深度感知 • 使用 ZED 相机和 OpenCV 库捕获图像、深度图和点云。 • 提供保存并排图像、深度图和点云的功能。 • 允许在不同格式之间切换保存的深度图和点云…