<?php
header("Content-Type:text/html;charset=utf-8");
$conn=mysql_connect('localhost','root','root') or die("error connecting") ; //连接数据库
mysql_query("set names 'utf8'"); //数据库输出编码
mysql_select_db('ceshi'); //打开数据库
//
$sql ="select * from tp_guanyi_diligence_user order by id asc limit 1000"; //SQL语句
$result = mysql_query($sql,$conn); //查询
while($row = mysql_fetch_array($result)) {
//echo $row['id'] . "_" .$row['name1'] . "_" . $row['name2'].'<br/>';
$bigImgPath = 'backgroud.png';
$img = imagecreatefromstring(file_get_contents($bigImgPath));
$font = 'simsun.ttc';//字体
$black = imagecolorallocate($img, 255, 0, 0);//字体颜色 RGB
$fontSize = 16; //字体大小
$circleSize = 0; //旋转角度
$text = $row['name1'];
$len = abslength($text);
$left = 50; //左边距
if($len==2){
$top = 255; //顶边距
}elseif($len==3){
$top = 245; //顶边距
}elseif($len==4){
$top = 235; //顶边距
}elseif($len==5){
$top = 225; //顶边距
}elseif($len==6){
$top = 215; //顶边距
}
$str = '';
for($i=0;$i<$len;$i++){
$txt = mb_substr($text,$i,1,'utf-8');
imagefttext($img, $fontSize, $circleSize, $left, $top, $black, $font, $txt);
$top = $top+22;
}
$text = $row['name2'];
$len = abslength($text);
$left = 110; //左边距
if($len==2){
$top = 255; //顶边距
}elseif($len==3){
$top = 245; //顶边距
}elseif($len==4){
$top = 235; //顶边距
}elseif($len==5){
$top = 225; //顶边距
}elseif($len==6){
$top = 215; //顶边距
}
$str = '';
for($i=0;$i<$len;$i++){
$txt = mb_substr($text,$i,1,'utf-8');
imagefttext($img, $fontSize, $circleSize, $left, $top, $black, $font, $txt);
$top = $top+22;
}
// 生成图片
$newname = $row['id'];
imagepng($img, $newname.'.png');
imagedestroy($img);
}
function abslength($str)
{
if(empty($str)){
return 0;
}
if(function_exists('mb_strlen')){
return mb_strlen($str,'utf-8');
}
else {
preg_match_all("/./u", $str, $ar);
return count($ar[0]);
}
}
function csubstr($str, $start=0, $length, $charset="utf-8", $suffix=true)
{
if(function_exists("mb_substr"))
{
if(mb_strlen($str, $charset) <= $length) return $str;
$slice = mb_substr($str, $start, $length, $charset);
}
else
{
$re['utf-8'] = "/[\x01-\x7f]|[\xc2-\xdf][\x80-\xbf]|[\xe0-\xef][\x80-\xbf]{2}|[\xf0-\xff][\x80-\xbf]{3}/";
$re['gb2312'] = "/[\x01-\x7f]|[\xb0-\xf7][\xa0-\xfe]/";
$re['gbk'] = "/[\x01-\x7f]|[\x81-\xfe][\x40-\xfe]/";
$re['big5'] = "/[\x01-\x7f]|[\x81-\xfe]([\x40-\x7e]|\xa1-\xfe])/";
preg_match_all($re[$charset], $str, $match);
if(count($match[0]) <= $length) return $str;
$slice = join("",array_slice($match[0], $start, $length));
}
if($suffix) return $slice;
return $slice;
}
?>
php利用自定义字体与底图合成新图片
最新推荐文章于 2022-11-29 16:59:17 发布