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 和 MySQL 基础教程(一)
Oct 09 PHP
一个PHP日历程序
Dec 06 PHP
php文章内容分页并生成相应的htm静态页面代码
Jun 07 PHP
php错误提示failed to open stream: HTTP request failed!的完美解决方法
Jun 06 PHP
ThinkPHP模板范围判断输出In标签与Range标签用法详解
Jun 30 PHP
php函数serialize()与unserialize()用法实例
Nov 06 PHP
Laravel框架中实现使用阿里云ACE缓存服务
Feb 10 PHP
php替换字符串中间字符为省略号的方法
May 04 PHP
php实现通过ftp上传文件
Jun 19 PHP
Laravel中七个非常有用但很少人知道的Carbon方法
Sep 21 PHP
ThinkPHP5 验证器的具体使用
May 31 PHP
Laravel 中创建 Zip 压缩文件并提供下载的实现方法
Apr 02 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函数,php爱好者站推荐
2007/03/19 PHP
php实现的仿阿里巴巴实现同类产品翻页
2009/12/11 PHP
PHP zip扩展Linux下安装过程分享
2014/05/05 PHP
Zend Framework页面缓存实例
2014/06/25 PHP
php基于curl实现随机ip地址抓取内容的方法
2016/10/11 PHP
thinkPHP3.2.3实现阿里大于短信验证的方法
2018/06/06 PHP
在javascript将NodeList作为Array数组处理的方法
2010/07/09 Javascript
JavaScript游戏之优化篇
2010/11/08 Javascript
jQuery EasyUI API 中文文档 - TimeSpinner时间微调器
2011/10/23 Javascript
jQuery hover事件简单实现同时绑定2个方法
2016/06/07 Javascript
vuejs指令详解
2017/02/07 Javascript
jQuery ajax动态生成table功能示例
2017/06/14 jQuery
Angular2仿照微信UI实现9张图片上传和预览的示例代码
2017/10/19 Javascript
使用Angular CLI进行Build(构建)和Serve详解
2018/03/24 Javascript
this在vue和小程序中的使用详解
2019/01/28 Javascript
vue微信分享的实现(在当前页面分享其他页面)
2019/04/16 Javascript
JS Web Flex弹性盒子模型代码实例
2020/03/10 Javascript
Python中DJANGO简单测试实例
2015/05/11 Python
Python中的自省(反射)详解
2015/06/02 Python
神经网络(BP)算法Python实现及应用
2018/04/16 Python
用python做游戏的细节详解
2019/06/25 Python
python图片指定区域替换img.paste函数的使用
2020/04/09 Python
python脚本第一行如何写
2020/08/30 Python
selenium+python自动化78-autoit参数化与批量上传功能的实现
2021/03/04 Python
CSS图片翻转动画技术详解(IE也实现了)
2014/04/03 HTML / CSS
HTML5实现视频直播功能思路详解
2017/11/16 HTML / CSS
教你怎样写好自我评价
2013/10/05 职场文书
医学生自我鉴定范文
2014/03/26 职场文书
平安家庭示范户事迹
2014/06/02 职场文书
煤矿安全知识竞赛活动总结
2014/07/07 职场文书
2014年银行员工年终自我评价
2014/09/19 职场文书
寝室长工作失责检讨书
2014/10/06 职场文书
大学生村官个人总结
2015/02/15 职场文书
2015年学校关工委工作总结
2015/04/03 职场文书
完美解决golang go get私有仓库的问题
2021/05/05 Golang
.Net Core导入千万级数据至Mysql的步骤
2021/05/24 MySQL