• 技术文章 >php教程 >php手册

    PHP 实现彩色文字

    2016-06-21 08:57:21原创965

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

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

    一.彩字的简单实现

    以下为引用的内容:
    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编码,如果不是,手工转一下..
    要使用彩字,只需要用

    php入门到就业线上直播课:进入学习

    即可,其中,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(
    '\\1',
    '\\2',
    '""'
    );
    //以上只是演ubb的实现,更多的ubb标签朋友们可以按方法自己实现,其中的color.php根椐实际去修改
    return preg_replace($ubb,$tohtml,$string);
    }


    这样,要显示彩字,只需在内容中加入
    [colorfont]文字[/colorfont]
    显示时,在smarty模板中使用ubb修饰符即可,如{$contentubb}



    声明:本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn核实处理。

    前端(VUE)零基础到就业课程:点击学习

    清晰的学习路线+老师随时辅导答疑

    自己动手写 PHP MVC 框架:点击学习

    快速了解MVC架构、了解框架底层运行原理

    专题推荐:彩色 文字
    上一篇:PHP autoload与include性能比较 下一篇:自己动手写 PHP MVC 框架(40节精讲/巨细/新人进阶必看)

    相关文章推荐

    • ❤️‍🔥共22门课程,总价3725元,会员免费学• ❤️‍🔥接口自动化测试不想写代码?• mysql 数据备份类代码• PHP类中的魔术方法(Magic Method)简明总结,magicmethod• php mysql 数据库类• 解析用PHP实现var_export的详细介绍• 我的论坛源代码(五)
    1/1

    PHP中文网