PHP 彩色文字实现代码


Posted in PHP onJune 29, 2009

最近流行彩字,下面是简单的实现方法:
一.彩字的简单实现

header("content-type: image/png"); 
$text = $_get['t']; 
$font = 'stxingka.ttf'; //ttf字体 
$fontsize = 30; 
$size = imagettfbbox($fontsize, 0, $font, $text); //获得字体长宽范围 
$dx = abs($size[2]-$size[0]) +10; 
$dy = abs($size[5]-$size[3]); 
//构建图像 
$im = imagecreate($dx,$dy); 
imagecolorallocate($im, 255,255, 255); //背景色 
$fontcolor = imagecolorallocate($im, 255, 0, 0); //字体颜色 
imagettftext($im, $fontsize, 0, 0, abs($size[5]), $fontcolor, $font, $text); 
imagepng($im); 
imagedestroy($im);

上面的程序只是表述了一些彩字的基本原理,要实现更复杂和美观的彩字,所要做的只是更换一下字体,改一下字体颜色,添加一些背景图,再考虑一下缓存等,方法也差不多,朋友们可以自己试试.
二.彩字应用
上面的程序生成的彩字是通过"?t=文字"来传递的,但需注意的是,这些文字最好用urlencode来编码,当然,长度也应该有限制,这不是本文讨论的范围.
另外,生成彩字的程序和传递文字的程序都使用utf-8编码,如果不是,手工转一下..
要使用彩字,只需要用<img src="color.php?t=xxx" />即可,其中,color.php为生成彩字的程序(即上面的程序),xxx为经urlencode编码的文字(用来生成彩字)
三.smarty插件
在smarty的plugins目录下新建一文件modifier.ubb.php,内容如下: 
function smarty_modifier_ubb($string){ 
$ubb = array( 
'/\[b\](.+?)\[\/b\]/i', #加粗 
'/\[url=(.+?)\](.+?)\[\/url\]/i', #url 
'/\[colorfont\](.+?)\[\/colorfont\]/ie' #彩字,注意,要加e修饰符 
); 
$tohtml = array( 
'<b>\\1</b>', 
'<a href="\\1">\\2</a>', 
'"<img src=\'color.php?t=".urlencode("\\1")."\'/>"' 
); 
//以上只是演ubb的实现,更多的ubb标签朋友们可以按方法自己实现,其中的color.php根椐实际去修改 
return preg_replace($ubb,$tohtml,$string); 
}

这样,要显示彩字,只需在内容中加入
[colorfont]文字[/colorfont]
显示时,在smarty模板中使用ubb修饰符即可,如{$contentubb}
PHP 相关文章推荐
PHP的FTP学习(四)
Oct 09 PHP
php提示Call-time pass-by-reference has been deprecated in的解决方法[已测]
May 06 PHP
关于访问控制的一首PHP面试题(对属性或方法的访问控制)
Sep 13 PHP
php实现telnet功能示例
Apr 08 PHP
PHP+MySQL实现无极限分类栏目的方法
Dec 23 PHP
EarthLiveSharp中cloudinary的CDN图片缓存自动清理python脚本
Apr 04 PHP
PHP大文件分割上传 PHP分片上传
Aug 28 PHP
PHP多进程之pcntl_fork的实例详解
Oct 15 PHP
Laravel 5.4因特殊字段太长导致migrations报错的解决
Oct 22 PHP
在PHP中输出JS语句以及乱码问题的解决方案
Feb 13 PHP
Yii2框架加载css和js文件的方法分析
May 25 PHP
PHP实现微信公众号验证Token的示例代码
Dec 16 PHP
php 过滤危险html代码
Jun 29 #PHP
php 图片上添加透明度渐变的效果
Jun 29 #PHP
需要发散思维学习PHP
Jun 29 #PHP
PHP HTML代码串 截取实现代码
Jun 29 #PHP
PHP 网页过期时间的控制代码
Jun 29 #PHP
PHP 超链接 抓取实现代码
Jun 29 #PHP
PHP 文件上传功能实现代码
Jun 24 #PHP
You might like
一些使用频率比较高的php函数
2008/10/03 PHP
php Smarty 字符比较代码
2011/02/27 PHP
无需重新编译php加入ftp扩展的解决方法
2013/02/07 PHP
PHP实现文件下载详解
2014/11/27 PHP
php发送短信验证码完成注册功能
2015/11/24 PHP
PHP的AES加密算法完整实例
2016/07/20 PHP
PHP程序员学习使用Swoole的理由
2018/06/24 PHP
jquery图片上下tab切换效果
2011/03/18 Javascript
JS选中checkbox后获取table内一行TD所有数据的方法
2015/07/01 Javascript
JavaScript实现的简单烟花特效代码
2015/10/20 Javascript
JS iFrame加载慢怎么解决
2016/05/13 Javascript
浅谈js里面的InttoStr和StrtoInt
2016/06/14 Javascript
Vue.js每天必学之组件与组件间的通信
2016/09/08 Javascript
微信小程序 合法域名校验出错详解及解决办法
2017/03/09 Javascript
详解NodeJS框架express的路径映射(路由)功能及控制
2017/03/24 NodeJs
BootStrap导航栏问题记录
2017/07/31 Javascript
webstorm和.vue中es6语法报错的解决方法
2018/05/08 Javascript
实例分析JS中的相等性判断===、 ==和Object.is()
2019/11/17 Javascript
Python实现快速多线程ping的方法
2015/07/15 Python
python和ruby,我选谁?
2017/09/13 Python
2018年Python值得关注的开源库、工具和开发者(总结篇)
2018/01/04 Python
Python实现获取前100组勾股数的方法示例
2018/05/04 Python
使用Django简单编写一个XSS平台的方法步骤
2019/03/25 Python
Python eval的常见错误封装及利用原理详解
2019/03/26 Python
django 邮件发送模块smtp使用详解
2019/07/22 Python
python pyenv多版本管理工具的使用
2019/12/23 Python
TensorFlow基本的常量、变量和运算操作详解
2020/02/03 Python
python 中不同包 类 方法 之间的调用详解
2020/03/09 Python
Python爬虫分析微博热搜关键词的实现代码
2021/02/22 Python
Spongelle官网:美国的创意护肤洗护品牌
2019/05/15 全球购物
捷克家具销售网站:SCONTO Nábytek
2020/01/02 全球购物
平面设计师工作职责范文
2013/12/03 职场文书
2014的自我评价
2014/01/13 职场文书
天网工程实施方案
2014/03/26 职场文书
国庆节演讲稿
2014/05/27 职场文书
学校门卫岗位职责范本
2014/06/30 职场文书