php 合并图片_文字,PHP图片和文字合成 - osc_r9yyhhqz的个人空间 - OSCHINA - 中文开源技术交流社区...

这篇博客介绍了一个PHP项目中的小功能,即如何将姓名、性别和服务时长等信息合成到图片上。通过加载背景图片和照片,使用imagecopymerge函数进行图片合成,并利用imagettftext函数添加文字,最后保存生成的图片。
摘要由CSDN通过智能技术生成

昨天接到一个PHP项目,其中有个小功能:PHP图片和文字合成,以下需求和代码:

将上一页传递过来的姓名、性别、服务时长,合成到当前页面的图片上。

//处理

$name = empty($name) ? "" : $name;

$sex = empty($sex) ? "" : $sex;

$fw = empty($fw) ? "" : $fw;

?>

<?php%20echo%20createNewPic(%24name,%24sex,%24fw);?>

function createNewPic($names,$sexs,$fws)

{

//背景图片

$path_1 = 'img/bg2.png';

//照片

$path_2= 'img/1.png';

//创建图片对象

$image_1 = imagecreatefrompng($path_1);

$image_2 = imagecreatefrompng($path_2);

//合成图片

imagecopymerge($image_1, $image_2, 49, 111, 0, 0, imagesx($image_2), imagesy($image_2), 100);

//这是要插入到图片的文字

$name =$names;

$sex =$sexs;

$fw ="您本次志愿者服务时长为".$fws."小时";

//文件名

$filename="mlj";

//设置文字颜色

$black = imagecolorallocate($image_1, 41, 80, 49);

//写的文字用到的字体

$font = 'img/msyh.ttf';

$font2= 'img/msyhbd.ttf';

//在图片里插入文字$black

imagettftext($image_1, 25, 0, 270, 320, $black,$font, $name);

imagettftext($image_1, 14, 0, 380, 320, $black,$font, $sex);

imagettftext($image_1, 22, 0, 125, 670, $black,$font2, $fw);

//这是合成后的图片保存的路径

$upload_dir = "public/";

$pic=$upload_dir.$filename.''.microtime().'.png';

imagepng($image_1,$pic);

return $pic;

}

?>

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值