WordPress网站PHP纯代码生成文章海报图片实现分享
![]() | ![]() | ![]() | ![]() |
| 【性价之王】 | 【线路之王】 | 【价格之王】 | 【配置之王】 |
| 【免费之王】 | 【香港首推】 | 【梯子之王】 | 【独服之王】 |

不知道什么时候开始,WordPress网站站长圈子里流行起搞海报分享。
说实话这个功能很鸡肋,个人感觉没卵用,和加js分享一样。
明明浏览器自带分享功能,还要自己搞一个······。
没办法,谁叫网友们喜欢呢,今天抽空实现了下,只需传入必要的信息,即可生成一张海报图片。
[ad]
我这个是纯代码版,可以让高级用户DIY的哟。
实现这个功能需要依赖于PHP的GD库,没有就不行哟,虚拟主机用户要好好看看是否支持哟。
主要使用了PHP的复制图像,文本转图像等函数实现的,下面我们一起来看看实现代码。
内容 1 实现代码 2 参数说明 3 使用方法 3.1 相关文章实现代码
$im = imagecreatetruecolor(440, 700) or die("不能初始化新的 GD 图像流");//创建一张空白图像$_bg_color = imagecolorallocate($im, 255,255,255); //创建颜色,返回颜色标识符 imagefill($im, 0, 0, $_bg_color); //初始化图像背景为$_bg_color$bg=imagecreatefromstring(file_get_contents($bigImgPath));//获取网络图片$src_info = getimagesize($bigImgPath); //得到图片大小$bgsf = imagecreatetruecolor(440, 300); //创建一个画布imagecopyresampled($bgsf,$bg,0,0,0,0,440,300,$src_info[0],$src_info[1]);//缩放图像imagecopymerge($im,$bgsf,0,0,0,0,440,300,100);//复制合成$_text_color = imagecolorallocate($im, 0,0,0);//文字颜色$fontpath='msyh.ttf';//字体文件路径$im=textcl($im,$_text_color,$str,$fontSize,$fontpath,330,'');//处理多行文字$im=textcl($im,$_text_color,$description,$desfontSize,$fontpath,410,' ');$qecode=imagecreatefromstring(file_get_contents($ewm));//获取网络图片$ewm_info = getimagesize($ewm); //得到图片大小imagecopymerge($im,$qecode,10,500,0,0,$ewm_info[0],$ewm_info[1],100);//复制合成$dateimg = imagecreatetruecolor(200, 200); //创建一个画布imagefill($dateimg, 0, 0, $_bg_color); //填充颜色imagettftext($dateimg, $datefontsize, 0,0, 50, $_text_color,$fontpath,$domain);//文字转图片imagettftext($dateimg, $desfontSize, 0,0, 90, $_text_color,$fontpath,'————————————————————————');imagettftext($dateimg, $desfontSize, 0,20, 120, $_text_color,$fontpath,$datestr);imagecopymerge($im,$dateimg,200,520,0,0,200,200,100);//复制合成header("Content-type: image/png"); //以图像类型输出imagepng($im);//展示图像imagedestroy($im); //销毁图像,释放资源每一行都有注释。
这里要说两句,有个字体文件,这个大家喜欢什么字体就去下载什么字体就好。
字体文件是多平台通用的,不用担心不兼容。
还有一个多行文字转图片的问题,我这里把它写成了一个方法,对于标题和描述都可以使用,节省代码。
//自动文字换行计算function textcl($img,$_text_color,$str,$fontSize,$fontpath,$Y,$before){ for ($i=0;$i<mb_strlen($str);$i++) { $letter[] = mb_substr($str, $i, 1,'utf-8'); } $content=$before; foreach ($letter as $l) { $teststr = $content." ".$l; $fontBox = imagettfbbox($fontSize, 0, $fontpath, $teststr); if (($fontBox[2] > 400) && ($content !== "")) { $content .= "\n"; } $content .= $l; } imagettftext($img, $fontSize, 0, ceil((440 - $fontBox[2]) / 2), $Y, $_text_color, $fontpath, $content ); return $img;}参数说明
图像载体字体颜色字符串内容字体大小字体路径添加在字符串之前(用于首行缩进)使用方法
准备必须内容,主要有以下内容:
$bigImgPath=’最上面的图片链接’;$str =’标题’;$description=’描述(注意有字数限制,不然会超出图像)’;$ewm=’https://www.daimadog.com/qrcode.php?cont=https://www.daimadog.com/4077.html&rc=L&size=150′; //二维码图像地址,我这里使用的是代码狗博客提供的二维码生成接口$datestr=’时间字符串’;$domain=’域名字符串’;$fontSize=22;//标题字体大小,22磅$desfontSize=14;//描述字体大小$datefontsize=14;//日期字体大小给一个上图的生成参数大家对照下就明白了:
$bigImgPath=’https://www.daimadog.com/wp-content/uploads/2019/03/0007-300×200.jpg’;$str =’[森萝财团]萝莉丝足 X-007 写真套图‘;$description='[森萝财团]萝莉丝足 X-007号套图,说是萝莉,反正我是没看出来这是萝莉,正规图片,思想邪恶请绕道!’;$ewm=’https://www.daimadog.com/qrcode.php?cont=https://www.daimadog.com/4077.html&rc=L&size=150′;$datestr=’公元 2019/04/05′;$domain=’www.daimadog.com’;$fontSize=22;$desfontSize=14;$datefontsize=14;好了,有这些就可以正常生成图像链接了,不喜欢这个结构的可以自行diy哟,diy需要注意合成图片时的图像显示位置坐标,字符串转图像时的显示坐标哟。
[WordPress]历史优惠活动内容
猜你可能想看的VPS
- 腾讯云→“2019 年 12 月”云服务器秒杀活动 最新腾讯云优惠信息 香港VPS[主机]
- 按时计费 $2.8 月 512M 内存 10G 硬盘 1T 流量@1Gb全球[VPS测评]
- 傲闪云五一促销,全场云服务器买一送一,充值送 888,香港 美国 国内云美国VPS[主机]
- 促销 iON→圣何塞线路改善 8 折优惠一个月 1 核 2G 50G S全球[VPS测评]
- include_once 与 require_once 的区别全球[VPS测评]
- cloudcone→超大硬盘 VPS 补货 洛杉矶 KVM 最高 500全球[VPS测评]
- 便宜 RackNerd 情人节促销→洛杉矶 MC 机房 1 核 768M全球[VPS测评]
- 水墨云洛杉矶 GIA 特惠限量五折,1 核 512M 内存 100M 带全球[VPS测评]
- bootstrap-table 多行重复表头的解决办法全球[VPS测评]
- CentOS 系统安装 Transmission 和 FlexGet 全全球[VPS测评]
- 真实测评 四五互联江苏宿迁高防 VPS 和贵州 VPS 测评数据全球[VPS测评]
- 腾讯云”共克时艰 续费扶持”,史无前例的腾讯云服务器老用户 3.6 折续全球[VPS测评]
- servaRICA→$7 月 1GB 内存 1.5TB 空间 不限流量 虚拟空间(主机)
- HoRain 日本 新加坡 G 口 VPS 上线,AWS 轻量实例,1 日本VPS[主机]
- Piios 阿里云深港 IPLC 沪美 IPLC,30Mbps 可以长时全球[VPS测评]
- 阿里云采购季→1C2G1M 低至年付 74 元 2C4G5M 云服务器 全球[VPS测评]
- XIU 主题在首页最新发布文章标题后添加 NEW 图标 XIU 主题美化全球[VPS测评]
- iFog → 挪威VPS 黑五套餐 测评全球[VPS测评]
- 狗云 → 韩国BGP → 8折 → 512M 10G SSD 500G韩国VPS[主机]
- 戈登云VPS,6折,充值送50%,香港cn2,美国cn云服务器,2核2G美国VPS[主机]
- 春天的风最容易温暖心灵,适合朋友圈和抖音的12条文案全球[VPS测评]
- 葫芦云:香港将军澳CN2云服务器24元/月,1核/1GB/25G硬盘/3香港VPS[主机]
- 咖啡主机:新上香港云服务器、美国CN2轻量级KVM vps,香港15.6美国VPS[主机]
- 碳氧云,香港vps路由调整为沙田cn2,特价款6核6G仅80元/月香港VPS[主机]
- OneTechCloud易科云双十二优惠:香港/美国CN2全场VPS季付美国VPS[主机]
- 手帕云,便宜小带宽香港CN2 VPS,集群10G防御,双向CN2直连,仅香港VPS[主机]
- DiyVM:香港/日本/美国vps低至5折,2G内存月付69元起;香港服日本VPS[主机]
- UCloud香港云服务器:免备案,CN2,全球31个机房,香港2核4G2香港VPS[主机]
- tmhhost:香港安畅机房三网CN2 GIA VPS,月付45起;美国美国VPS[主机]
- 华凯易佰同比扭亏跨境电商行业回暖H2旺季将至|中报追踪全球[VPS测评]
转载请注明原文地址:http://140.238.13.167:12355/read-226418.html











