导航首页 »  文章首页 » 简洁式海报图生成源代码

简洁式海报图生成源代码

简洁式海报图生成源代码

适用于大部分程序

放入php文件,直接域名/文件名.php/?参数访问即可生成

生成的图片保存7天,7天后请求会重新生成

百度下载simfang.ttf字体

示例:点击右下角图标即可生成

<?php
$bigImgPath=$_GET['img'];//背景图
$str =mb_substr($_GET['title'],0,12,"utf-8");//最大12字标题
$description=mb_substr($_GET['ms'],0,150,"utf-8");//最大150字描述
$url=$_GET['url'];//网址
$ewm="http://qr.kegood.com/?m=0&e=L&p=6&url=".$url; //二维码生成,大小126×126
$datestr=$_GET['time'];//时间
$fontSize=22;//标题字体大小,22磅
$desfontSize=14;//描述字体大小
$datefontsize=14;//日期字体大小
$img="haibao_".md5($biglmgPath.$url).".png";//文件名+保存路径
$expire = 604800;//缓存有效期7天, 单位为:秒,为0时不缓存
ob_clean();
function get_haibao_cache($key,$expire){//名称,时间
 $a = $key;  if(is_file($a)){  $data = file_get_contents($a);  if( (time() - filemtime($a)) > $expire ){   return null;     }else{      return $data;     }    }else{    return null;  }
}
if(get_haibao_cache($img,$expire)){
exit('{"code":1,"msg":"成功","url":"'.$img.'"}');
}else{
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, strip_tags($content) );  return $img;
}
$im = imagecreatetruecolor(440, 800) 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="simfang.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,600,0,0,$ewm_info[0],$ewm_info[1],100);//复制合成
$dateimg = imagecreatetruecolor(200, 200);  //创建一个画布
imagefill($dateimg, 0, 0, $_bg_color); //填充颜色
imagettftext($dateimg, $desfontSize, 0,0, 20, $_text_color,$fontpath,'网站标题');
imagettftext($dateimg, $datefontsize, 0,0, 50, $_text_color,$fontpath,$datestr);//文字转图片
imagettftext($dateimg, $desfontSize, 0,0, 80, $_text_color,$fontpath,'—————————');
imagettftext($dateimg, $desfontSize, 0,0, 120, $_text_color,$fontpath,"扫码查看详细内容");
imagecopymerge($im,$dateimg,240,640,0,0,200,200,100);//复制合成
//header("Content-type: image/png"); //以图像类型输出
//imagepng($im);//展示图像
imagejpeg($im,$img);//保存图片
imagedestroy($im); //销毁图像,释放资源
exit('{"code":1,"msg":"成功","url":"'.$img.'"}');

标签: 海报图


上一篇:微信这个功能,7天后将下线。

下一篇:QQ内打开网址卡片显示代码

文章版权说名

本站文章内容来源于网络,如有侵权请联系站长整改或删除

只做文章的搬运工(会标注来源地址)

本站资源来自互联网收集,仅供学习与交流,请勿用于商业

如有侵权、不妥之处,请联系站长并出示版权证明以便删除

所有内容及软件的文章仅限用于学习和研究目的。

不得将上述内容用于商业或者非法用途,否则,一切后果请用户自负,我们不保证内容的长久可用性,通过使用本站内容随之而来的风险与本站无关,您必须在下载后的24个小时之内,从您的电脑中彻底删除上述内容。