header('Content-type:text/html;charset=utf-8');
/**
* png图文合成 by wangzhaobo
* @param string $pic_path 图片目录
* @param array $text 文字
* @param array $font_file 路径
* @param array $font_size 文字大小
* @param array $font_pos_y 文字距离图片高度
* @return string 合成图片的名称
*/
function signImg($pic_path,$text,$font_file,$font_size,$font_pos_y){
//图片信息
list($pic_w, $pic_h, $pic_type) = getimagesize($pic_path);
//创建图片的实例
$pic = imagecreatefrompng($pic_path);
imagesavealpha($pic,true);//这里很重要 意思是不要丢了图像的透明色;
$white = imagecolorallocate($pic, 255, 255, 255);//默认的文字颜色
$yellow = imagecolorallocate($pic, 236, 185, 7);//默认的文字颜色
$font_color = [$white,$yellow,$white,$white];
foreach($text as $key=>$value){
$arr = imagettfbbox($font_size[$key],0,$font_file[$key],$text[$key]);
$text_width = $arr[2]-$arr[0];
imagefttext($pic, $font_size[$key], 0, ($pic_w-$text_width)/2, $font_pos_y[$key], $font_color[$key], $font_file[$key], $text[$key]);
}
//按照画布类型输出图片
$pngName = time().rand(0,9).".png";//生成图片名称
switch ($pic_type) {
case 1://GIF case 2://JPG case 3://PNG
// //直接输出图片
header('Content-Type: image/png');
imagepng($pic); // 保存图片路径
// imagepng($pic,"./assets/sign/".$pngName);
// return $pngName;
break;
default:
break;
}
imagedestroy($pic);
}
$pic_path = './assets/images/backgroud.png';
$text = [
'若水电影电竞女神巡演赛成都站',
'王若水',
'观赛时间:2017.9.2 12:30',
'观赛地点:万达电影地方电竞女神巡演赛(成都站)'
];
$font_file = [
"./assets/fonts/MSYH.TTF",//粗体
"./assets/fonts/MSYH.TTF",//粗体
"./assets/fonts/MSYH.TTF",//细体
"./assets/fonts/MSYH.TTF"//细体
];
$font_size = [24,42,18,18];
$font_pos_y = [298,470,600,650];
signImg($pic_path,$text,$font_file,$font_size,$font_pos_y);
// header("Content-type: image/png");
// echo $a;

素材地址:链接:http://pan.baidu.com/s/1c2vUCAO 密码:3s2i

最新文章

  1. vs2010中如何设置Visual Assist方便地使用现成的代码编辑器风格
  2. ProceedingJoinPoint获取当前方法
  3. centos7.2 默认启动内核修改
  4. 记一次在StackOverFlow上问问题的经历
  5. java.util.logging.Logger使用详解
  6. MT4平台上mql4实现的基于macd指标的智能交易EA
  7. MYSQL ERROR 1130: Host is not allowed to connect to this MySQL server
  8. wordpress 404 error on all pages!
  9. BeautifulSoup 抓取网站url
  10. react-redux-store
  11. LeetCode题解之 Intersection of Two Arrays
  12. Shell教程 之运算符
  13. 从零系列--开发npm包(二)
  14. 「CSA49」Card Collecting Game
  15. gcc __attribute__
  16. hbase java api样例(版本1.3.1,新API)
  17. <Effective C++>读书摘要--Resource Management<二>
  18. bootstrap-datetimepicker 开始时间与结束时间互相约束
  19. [Python]简单的外星人入侵游戏
  20. javascript跨浏览器事件对象类库

热门文章

  1. Directory 中user Var 如何添加到通道变量中?
  2. mysql修改字段长度及pymysql.err.DataError: (1406, "Data too long for column 'name' at row 1")错误
  3. linux显示完整目录
  4. SQL Server管理员必备技能之性能优化
  5. 关于《common-net》的ftp上传
  6. Confluence 6 创建-使用-删除快捷链接
  7. Confluence 6 配置 HTTP 超时设置
  8. linux下安装nginx及初步认识
  9. Python基础之继承与派生
  10. linux下搭建SVN