php gd库合成图片并在图片上加文字

背景图

图1

图2

/**
 * 将图1和图2画在背景图bgimg上
 */

$bgimg = "bgimg.jpg";
$bg_info = getimagesize($bgimg);

//获取图片的后缀
$bg_type = image_type_to_extension($bg_info[2], false);
//拼接图片资源句柄函数
$func = 'imagecreatefrom' . $bg_type;
//创建图片资源句柄
$bg_image = $func($bgimg);

//图1处理
$tu1 = "tu1.jpg";
$tu1_info = getimagesize($tu1);
$tu1_type = image_type_to_extension($tu1_info[2], false);
//创建图片资源句柄
$tu1_func = 'imagecreatefrom' . $tu1_type;
$tu1_image = $tu1_func($tu1);
//合并背景图+图1
imagecopy($bg_image, $tu1_image, 200, 50, 0, 0, 301, 299);  //图1 200距左边距 50距顶边距 301 299图1大小  背景图 0 0


//图2处理  二维码
$tu2 = "tu2.jpg";
$tu2_mark = getimagesize($tu2);
$tu2_type = image_type_to_extension($tu2_mark[2], false);
//创建图片资源句柄
$tu2_func = 'imagecreatefrom' . $tu2_type;
$tu2_image = $tu2_func($tu2);
//合并背景图+二维码
imagecopy($bg_image, $tu2_image, 583, 1193, 0, 0, 258, 261);


//文字
$font = "msyh.ttc"; //字体文件
$content = ['你好', '小码农'];
$font_lposition = [180, 180]; //距左边距
$font_tposition = [993, 1051]; //距上边距
if (count($content) > 0) {
    for ($i = 0; $i < count($content); $i++) {
        imagettftext($bg_image, 25, 0, $font_lposition[$i], $font_tposition[$i], 0, $font, $content[$i]);
    }
}

//图片输出函数拼接
$outFunc = 'image' . $bg_type;

//保存图片
$img_name = "new.jpg";
$outFunc($bg_image, $img_name);

//销毁内存
imagedestroy($bg_image);
imagedestroy($tu1_image);
imagedestroy($tu2_image);

合成后的图片

  • 3
    点赞
  • 9
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值