WordPress网站PHP纯代码生成文章海报图片实现分享

不知道什么时候开始,WordPress网站站长圈子里流行起搞海报分享。

说实话这个功能很鸡肋,个人感觉没卵用,和加js分享一样。

明明浏览器自带分享功能,还要自己搞一个······。

没办法,谁叫网友们喜欢呢,今天抽空实现了下,只需传入必要的信息,即可生成一张海报图片。

[ad]

我这个是纯代码版,可以让高级用户DIY的哟。

WordPress网站PHP纯代码生成文章海报图片实现分享1技术教程主机格调

实现这个功能需要依赖于PHP的GD库,没有就不行哟,虚拟主机用户要好好看看是否支持哟。

主要使用了PHP的复制图像,文本转图像等函数实现的,下面我们一起来看看实现代码。

实现代码

$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;
}

参数说明

  1. 图像载体
  2. 字体颜色
  3. 字符串内容
  4. 字体大小
  5. 字体路径
  6. 添加在字符串之前(用于首行缩进)

使用方法

准备必须内容,主要有以下内容:

  1. $bigImgPath=’最上面的图片链接’;
  2. $str =’标题’;
  3. $description=’描述(注意有字数限制,不然会超出图像)’;
  4. $ewm=’https://www.daimadog.com/qrcode.php?cont=https://www.daimadog.com/4077.html&rc=L&size=150′; //二维码图像地址,我这里使用的是代码狗博客提供的二维码生成接口
  5. $datestr=’时间字符串’;
  6. $domain=’域名字符串’;
  7. $fontSize=22;//标题字体大小,22磅
  8. $desfontSize=14;//描述字体大小
  9. $datefontsize=14;//日期字体大小

给一个上图的生成参数大家对照下就明白了:

  1. $bigImgPath=’https://www.daimadog.com/wp-content/uploads/2019/03/0007-300×200.jpg’;
  2. $str =’[森萝财团]萝莉丝足 X-007 写真套图‘;
  3. $description='[森萝财团]萝莉丝足 X-007号套图,说是萝莉,反正我是没看出来这是萝莉,正规图片,思想邪恶请绕道!’;
  4. $ewm=’https://www.daimadog.com/qrcode.php?cont=https://www.daimadog.com/4077.html&rc=L&size=150′;
  5. $datestr=’公元 2019/04/05′;
  6. $domain=’www.daimadog.com’;
  7. $fontSize=22;
  8. $desfontSize=14;
  9. $datefontsize=14;

好了,有这些就可以正常生成图像链接了,不喜欢这个结构的可以自行diy哟,diy需要注意合成图片时的图像显示位置坐标,字符串转图像时的显示坐标哟。

【声明1】:如本站转载别的站的文章,我个人没有添加来源,您可以发电邮:admin#zhuji.gd 提醒我,我会尽快添加文章来源。 【声明2】:本博客不参与任何交易及中介服务,只记录 VPS 测评和优惠,内容均不作直接、间接、法定、约定的保证。访问本博客请务必遵守有关互联网的相关法律、规定与规则。一旦您访问本博客,即表示您已经知晓并接受了此声明通告。
(0)
上一篇 12/04/2019 12:01
下一篇 13/04/2019 14:05

相关推荐

  • WordPress插件:WP User Avatar修改默认头像

    在WordPress后台是无法修改默认头像,后台自带的那些头像又丑陋无比。只能通过插件来进行修改默认的这些头像。 WP User Avatar 是一款可以任由用户自己设置头像的插件。 安装后,网站用户登录用户中心,在“个人资料”中会多出一个自定义头像功能。 用户可以点击“自定义头像”设置自己的头像。

    23/03/2019
    12.1K0
  • Windows and Office ISO Downloader 从微软官方下载Windows、Office 安装程序

    最近发现一款免费工具Microsoft Windows and Office ISO Download Tool,执行就能从微软官方网站下载Windows或Office安装程序,如果你觉得微软官方网站载点很难找,或是想获取更安全可靠的安装程式,可以考虑先下载这个工具。 这个网站最近在和美国亚马逊打官司,杠上了,有兴趣的可以到其官网去逛逛>>>>>>https://heidoc.net/joomla/ Microsoft Windows and Office ISO Download Tool 可以下载包括Windows 7...

    11/03/2019
    14.7K0
  • WordPress网站运营必备的浏览器插件5118站长工具箱

    作为网站站长,说到站长工具大家可能或多或少都的使用过那么一两个,比如爱站、chinaz、百度站长工具等等。 5118站长工具箱作为一个新进入站长工具领域的新玩家,为广大站长们提供了许多非常实用的工具,也推出了5118 站长工具箱 Chrome 内核的浏览器插件。 5118 站长工具箱是针对浏览器而开发的插件工具,可以使用于 QQ 浏览器、2345 浏览器、360 极速浏览器、360 安全浏览器、谷歌浏览器、猎豹浏览器、UC 浏览器、搜狗浏览器...

    11/04/2019
    13.8K0
  • WordPress一键重新生成全站缩略图插件:Regenerate Thumbnails

    在搭建运营WordPress网站的同时,无论是频繁地更换主题,还是页面改版优化,都会出现缩略图不合适造成的排版混乱的情况。原来的特色图像尺寸和比例可能已不适合当前的版面,需要调整显示尺寸。 如果手动重新上传图片,重新生成缩略图,会出现文章图片链接失效,工作量非常大。 那么有没有一种WordPress插件可以替代手动上传,重新生产缩略图的操作,做到省时省力? WordPress插件Regenerate Thumbnails正是能够快速简单地重新生...

    03/04/2019
    13.3K0
  • 性价比高便宜的域名 SSL 证书,可选BaiduTrust、PositiveSSL、TrustAsia

    Let's Encrypt 因更换根证书,部分老旧设备访问时可能提示不可信,并且前段时间因为 CAA 验证 Bug 导致300多万张使用 Let's Encrypt 证书从3月4日起开始被强制吊销,安全性和稳定性较差。不推荐配置 Let's Encrypt 免费证书,建议转向收费 SSL 证书,有没有便宜又大碗的域名 SSL 证书? TrustAsia 很多国内主机商提供 TrustAsia 免费的单域名 DV 证书。现在 TrustAsia SSL 证书在国内建站占有率可能已经超过 Let's Encrypt。手...

    05/05/2021
    5.4K0
  • LOCVPS新上香港云地/美国洛杉矶轻量KVM VPS,八折优惠,月付最低29.6元起

    LOCVPS最近新上香港云地/美国洛杉矶轻量/迷你计划,基于KVM,现在八折优惠,优惠后月付最低29.6元起。LOCVPS是一家的国人VPS服务商,目前提供中国香港、韩国、美国、日本、新加坡、德国、荷兰等区域VPS服务器。 [v_blue]优惠码:2021;香港云地:https://cdbgp.speedtest.locvps.com/;美国洛杉矶:https://usmc.speedtest.locvps.com/[/v_blue] 下面列出香港云地/美国洛杉矶轻量的配置信息 购买需要登录客户中心,左侧 购买[Kv...

    技术教程 05/08/2021
    3.1K0
  • SafeNote 阅后即焚笔记分享服务

    要在网上分享资料,可能很多人会直接使用QQ,微信之类。但这类工具不一定100%安全,如果Email也会留下记录,其实网络真的没有绝对安全的分享方式。 或许只能跟自己说资料没那么重要,或是自己先手动加上密码保护。若是和其他人分享内容时希望可以达到最好的安全性,开启后立即销毁的阅后即焚lianjie服务可能是不错的选择 SafeNote是一款号称安全的内容分享服务。 简单来说,它可以在使用者分享内容、产生链接时设定是否在开启后...

    19/03/2019
    13.8K0
  • 网站改版对搜索引擎SEO优化是否有影响?

    许多人在SEO变差的时候都是先检查自己的文章,很少有人会想到是否因为更换WordPress主题或者对网站结构做的其他小调整会影响到SEO。 网站改版后影响到SEO 在网站文章更新习惯不变的情况下,网站的SEO却有剧烈的变动,很有可能是更换WordPress主题所造成的。 WordPress主题真的与SEO优化有这么大的关系吗?这个可不一定。 如果你今天文章的质量不够好,就算版型的SEO在强大也是没用的。 但是你的文章质量非常好,在竞争激烈的SEO...

    25/04/2019
    12.5K0
  • Netflix网飞奈飞/YOUTUBE油管/亚马逊/迪士尼/HBO视频流媒体会员账号分享合租车位共享开车平台:蜜糖商店

    蜜糖商店怎么样?蜜糖商店是一家比较大的Netflix奈飞会员帐号合租网站,提供youtube油管、亚马逊 Prime Video 会员帐号合租、Spotify会员、HBO GO/HBO Max 会员帐号购买、hulu会员权益、disney+会员共享。与之前本站推荐过的奈飞小铺一样的都是奈飞账号共享分享网站,不过奈飞小铺还提供youtube 油管会员账号共享合租。 点击访问蜜糖商店metshop官网注册账号 蜜糖商店metshop合租套餐 合租套餐 月付 季付 半年 年付 购买 Netfli...

    03/09/2022
    4.4K0
  • vps流媒体解锁测试一键脚本:RegionRestrictionCheck,更快的检测速度

    RegionRestrictionCheck是一款基于lmc的全能检测脚本的思路并且使用golang重构的VPS主机流媒体解锁测试脚本,提供更快的检测速度,可以检测IPv4和IPv6,或者单独检测。 项目仓库地址:https://github.com/nkeonkeo/MediaUnlockTest RegionRestrictionCheck 使用方法 bash <(curl -Ls unlock.moe) 只检测IPv4结果: bash <(curl -Ls unlock.moe) -m 4 只检测IPv6结果: bash <(curl -Ls unlock.moe) -m 6 RegionRestrict...

    22/10/2022
    3.2K0
返回顶部