将指定的文字生成png图片,可自行定义文字,字体,字体颜色,背景颜色等

<?
/*
php生成文字png图片,可以使用如下方式调用函数:*/
Header("Content-type: image/png");
$msg="测试文字生成图片";//$_POST['msg'];   //文字
$fil="a.png";//$_POST['fil'];   //生成图片的名称//$fontS=$_POST['fontS']; //字体
$fontC="#00aeef";//$_POST['fontC'];  //字体颜色#000或#000000
//$font = 'FONTS/'.$fontS;$fontColor=hex2rgb($fontC);$red = $fontColor['red']; // 字体颜色
$grn = $fontColor['green'];
$blu = $fontColor['blue'];function hex2rgb( $colour ) { if ( $colour[0] == '#' ) { $colour = substr( $colour, 1 ); } if ( strlen( $colour ) == 6 ) { list( $r, $g, $b ) = array( $colour[0] . $colour[1], $colour[2] . $colour[3], $colour[4] . $colour[5] ); } elseif ( strlen( $colour ) == 3 ) { list( $r, $g, $b ) = array( $colour[0] . $colour[0], $colour[1] . $colour[1], $colour[2] . $colour[2] ); } else { return false; } $r = hexdec( $r ); $g = hexdec( $g ); $b = hexdec( $b ); return array( 'red' => $r, 'green' => $g, 'blue' => $b );
}
//测试
//var_dump(hex2rgb("#eeeeee"));class textPNG { var $font = 'FONTS/88.otf';//默认字体. 相对于脚本存放目录的相对路径.var $msg = "undefined"; // 默认文字.var $size = 40;var $rot = 0; // 旋转角度.var $pad = 0; // 填充.var $transparent = 1; // 文字透明度.var $red = 0; // 字体颜色var $grn = 0;var $blu = 0;var $bg_red = 255; // 将背景设置为白色.var $bg_grn = 255;var $bg_blu = 255;var $fil = "1.png";function draw() {$width = 0;$height = 0;$offset_x = 10;$offset_y = 0;$bounds = array();$image = "";// 确定文字高度.$bounds = ImageTTFBBox($this->size, $this->rot, $this->font, "W");if ($this->rot < 0) {$font_height = abs($bounds[7]-$bounds[1]);} else if ($this->rot > 0) {$font_height = abs($bounds[1]-$bounds[7]);} else {$font_height = abs($bounds[7]-$bounds[1]);}// 确定边框高度.$bounds = ImageTTFBBox($this->size, $this->rot, $this->font, $this->msg);if ($this->rot < 0) {$width = abs($bounds[4]-$bounds[0]);$height = abs($bounds[3]-$bounds[7]);$offset_y = $font_height+20;$offset_x = 0;} else if ($this->rot > 0) {$width = abs($bounds[2]-$bounds[6]);$height = abs($bounds[1]-$bounds[5]);$offset_y = abs($bounds[7]-$bounds[5])+$font_height+20;$offset_x = abs($bounds[0]-$bounds[6]);} else {$width = abs($bounds[4]-$bounds[6])+20;$height = abs($bounds[7]-$bounds[1])+40;$offset_y = $font_height+5+20;$offset_x = 0;}$image = imagecreate($width+($this->pad*2)+1,$height+($this->pad*2)+1);$background = ImageColorAllocate($image, $this->bg_red, $this->bg_grn, $this->bg_blu);$foreground = ImageColorAllocate($image, $this->red, $this->grn, $this->blu);if ($this->transparent) ImageColorTransparent($image, $background);ImageInterlace($image, false);// 画图.ImageTTFText($image, $this->size, $this->rot, $offset_x+$this->pad, $offset_y+$this->pad, $foreground, $this->font, $this->msg);// 输出为png格式.imagePNG($image,$this->fil);}
}
$text = new textPNG;
if (isset($msg)) $text->msg = $msg; // 需要显示的文字
if (isset($font)) $text->font = $font; // 字体
if (isset($size)) $text->size = $size; // 文字大小
if (isset($rot)) $text->rot = $rot; // 旋转角度
if (isset($pad)) $text->pad = $pad; // padding
if (isset($red)) $text->red = $red; // 文字颜色
if (isset($grn)) $text->grn = $grn; // ..
if (isset($blu)) $text->blu = $blu; // ..
if (isset($bg_red)) $text->bg_red = $bg_red; // 背景颜色.
if (isset($bg_grn)) $text->bg_grn = $bg_grn; // ..
if (isset($bg_blu)) $text->bg_blu = $bg_blu; // ..
if (isset($tr)) $text->transparent = $tr; // 透明度 (boolean).
if (isset($fil)) $text->fil = $fil;
$text->draw();
?> 

将文字生成png图片相关推荐

  1. 对抗生成网络学习(十六)——stackGAN++利用文字生成鸟类图片(tensorflow实现)(未完待续)

    一.背景 最近工作逐渐步入正轨,自己要做一个文字和图像的交互,所以就考虑先做做类似的工作,恰好之前有看到过stackGAN,因此这次就做做stcakGAN++. stackGAN其实发布的比较早,st ...

  2. PHP 文字生成透明图片之路

    PHP 文字生成透明图片之路 摘要:在现在的开发中会经常运用到生成图片的功能,常用的验证码生成等.PHP语言生成图片需要用到GD2功能模块,所以基本的图片,图形处理都是没什么压力滴. 准备: 1.打开 ...

  3. PHP 文字生成透明图片

    准备: 1.打开GD2模块,在php.ini文件中把GD2打开即可. 2.准备一个适合在linux以及windows适用的字体文件 代码: $text = "我爱中国";//显示的 ...

  4. qt生成pdf(用图片qgrabwidget抓取图片生成PDF;用文字生成pdf)

    1.用图片生成PDF: QPrinter printerPixmap(QPrinter::HighResolution);printerPixmap.setPageSize(QPrinter::A4) ...

  5. Java | 将文字生成在空白图片居中位置(根据图片大小,自动调节文字大小)

    Java | 将文字生成在空白图片居中位置(根据图片大小,自动调节文字大小) 话不多说,直接上代码.(大家可以自己根据需要设置图片大小,不过图片过小时,字体会变模糊,尽量设置图片大一点,600~100 ...

  6. Python通过文字生成语音,随机获取视频或图片素材生成伪原创的短视频

    前段时间写了一篇<抖音自动引流脚本源码>主要通过语录系统自动生成语句或随机评论,适用于自动评论引流脚本. 今天脑洞大开,想用Python通过文字生成语音,随机获取视频或图片素材生成伪原创的 ...

  7. vue动态设置文字布局方式_VUE+Canvas实现输入文字生成对应的字体图片小功能

    你是不是经常浏览字体网站的时候,发现他们的"字体生成器"和预览功能很好奇,为什么输入框输入文字之后,点击预览,下面都会修改对应的字体内容,以便达到了没有安装字体也可以预览这个字体效 ...

  8. VUE+Canvas实现输入文字生成对应的字体图片小功能

    你是不是经常浏览字体网站的时候,发现他们的"字体生成器"和预览功能很好奇,为什么输入框输入文字之后,点击预览,下面都会修改对应的字体内容,以便达到了没有安装字体也可以预览这个字体效 ...

  9. 改变elementui卡片crad样式_Ueditor文字和echarts图片 生成 word 前端解决方案

    编程就像搭积木,少了任何一个就拼接不起来,所有积木都找到就只剩下调试. 一.echarts  获取图片方法getDataURL var element = document.getElementByI ...

最新文章

  1. python调用脚本或shell的方式
  2. 阿里云在线web IDE:云效云端开发 DevStudio(ide.aliyun.com)
  3. Linux下社交平台,Linux 启动
  4. python基础小白题3
  5. Spring4.x(2)--SpringIOC的概念和作用
  6. 【5.0】对象生命周期及crud操作
  7. android开发目录结构说明
  8. C++并发与多线程(五)互斥量,atomic、与线程池
  9. 微信中的dat文件到底是什么
  10. pytorch复现RRU-Net
  11. 计算机网络——CSMA协议
  12. HTML5实现简单留言板1
  13. 洛谷P2486 染色
  14. 每周一品 · 永磁电机中的磁性材料
  15. Google公布软件网络负载均衡器Maglev
  16. echarts label点击_echarts 点击方法总结,点任意一点获取点击数据,举例说明:在多图联动中点击绘制标线...
  17. AndroidStudio0.5.5发布
  18. 关于查询报表总是“超时已过期“的问题解决
  19. 人体神经的作用与功能,人的神经系统的作用
  20. Windows 10 开机不一会出现MEMORY_MANAGEMENT蓝屏

热门文章

  1. 微信公众号之在图片上添加热点链接
  2. 微信订阅号python后台
  3. 2019年二级造价工程师讲义视频课件免费下载地址
  4. 华为2019算法大赛CTR预估数据探索
  5. 如何利用码文书把海报图片中的二维码替换成自己的二维码
  6. 关于 石墨文档客户端 的案例分析
  7. Mac工具:Karabiner,解决mac上无法使用的情况
  8. python中做为词云轮廓的图片,Python如何生成词云图片
  9. 查询各科成绩最高分、最低分和平均分
  10. Android q索尼手机相机算法,手机厂商套路太多!竟在手机摄像头上玩“掩眼法”?...