织梦CMS调用漂亮的头条图片标题

一直喜欢浏览一些大的门户网站,查阅新闻等。从来也没有注意过这些门户网站的设计风格什么的,但是今天一位朋友询问我,能不能在网站上用个漂亮的头条图片标题呢?

 一直喜欢浏览一些大的门户网站,查阅新闻等。从来也没有注意过这些门户网站的设计风格什么的,但是今天一位朋友询问我,能不能在网站上用个漂亮的头条图片标题呢?就像人民网那样(如下图)。

 

可以有些朋友会说为什么要用图片做呢,我们直接可以用文字和css做啊!但有时有一点要提醒大家,有时我们做标题时需要要一些字体特效,可是我们知道并不是每个人的电脑都安装有这些字体的。那么织梦模板可以生成这样的标题吗?其实还是很简单的,下面是我的实现方法。 

一、实现方法

1)标题图片字体定义

首先上传字体文件上传到include/data/fonts/下,并命名为 STXINGKA.TTF (字体下载),这个是用于生成标题图片的字体的。当然,你也可以自己定义更漂亮的字体,但字体必须命名为STXINGKA.TTF。

2)标题图片函数文件

打开include/extend.func.php (注意:本文件为自定义函数接口,如果你没有这个文件,请自己创建一个),在最后面的?>的前面以上开始插入以下代码:

class DeDeTitle   

{   

    var $text = '暂无标题';   

    var $bg = '#F0F0F0';   

    var $color = '#30F';   

    var $width = 500;   

    var $height = 50;   

    var $size = 30;   

    var $font;   

    var $path;   

    function __construct($t)   

    {   

        if($t)   

        {   

            $this->text = $t;   

        }   

        $this->font = DEDEINC.'/data/fonts/STXINGKA.TTF';   

    }   

    function DeDeTitle($t)   

    {   

        $this->__construct($t);   

    }   

    function TextConv()   

    {   

        global $cfg_soft_lang;   

        if($cfg_soft_lang!='utf-8')   

        {   

            return gb2utf8($this->text);   

        }   

        return $this->text;   

    }   

    function C($color,$rgb)   

    {      

        if(strlen($color)==4)   

        {   

            for($i=1;$i<4;$i++)   

            {   

                $str .= str_repeat($color[$i],2);   

            }   

            $color = '#'.$str;   

        }   

        switch($rgb)   

        {   

            case 'R':    return hexdec(substr($color, 1, 2));   

            case 'B':    return hexdec(substr($color, 3, 2));   

            case 'G':    return hexdec(substr($color, 5, 2));   

        }   

    }   

    function Titlepath()   

    {   

        global $cfg_medias_dir;   

        $name = GetPinyin($this->text).'.gif';   

        $path = $cfg_medias_dir.'/title/';   

        if(!is_dir($path))   

        {   

            CreateDir($path);   

        }   

        return $path.$name;   

    }   

    function Show()   

    {   

        if(!file_exists(DEDEROOT.$this->Titlepath()))   

        {   

            $this->Make();   

        }   

        global $cfg_cmsurl;   

        return  '<img src="'.$cfg_cmsurl.$this->Titlepath().'"/>';   

    }   

    function Make()   

    {   

        $image = imagecreatetruecolor($this->width,$this->height);   

        $bg = ImageColorAllocate($image,$this->C($this->bg,'R'),$this->C($this->bg,'B'),$this->C($this->bg,'G'));   

        $color = ImageColorAllocate($image,$this->C($this->color,'R'),$this->C($this->color,'B'),$this->C($this->color,'G'));   

        ImageFilledRectangle($image,0,0,$this->width,$this->height,$bg);   

        imagettftext($image,$this->size, 0, $this->size/2, ($this->height+$this->size)/2, $color$this->font,$this->TextConv());   

        imagegif($image,DEDEROOT.$this->Titlepath());   

        imagedestroy($image);   

    }   

}  

本站部分内容来源互联网,如果有图片或者内容侵犯您的权益请联系我们删除!

相关文档推荐

本文实例讲述了Dedecms获取登录用户名与ID号的方法。分享给大家供大家参考。具体方法如下: 获取当前登录用户名 1、include/arc.archives.class.php在第9行下面加入下面这段代码: require_once(../member/config.php); 2、模板文件,就可以用下面的代码,来获
本来这个功能是一个朋友要做的,因为,之前从没有接触过excel,这个功能也没有研究过,但是,这个功能比较实用的,因为,很多公司虽然有网站,但是,公司其它部门可能还要把公司数据导出到纸上面,以便研究公司数据之用,所以,很多的公司对这个功能就要求使
当下一个dedecms做的网站我需要一个功能,就是获取当前栏目的上级栏目名称和链接 ,经过网上查找,已经实现,我把相关代码贴出来,希望能帮助更多的朋友。 Markup {dede:field name=typeid runphp=yes}/*title:获取栏目的上级栏目链接地址*/global $dsql;/*
回想起上一个网站就是这么做的, 点击内容中的图片进入下一页 ,接下来说一下dede 5.7 文章中点击图片切换到下一页方法。 首先找到include/arc.archives.class.php 修改这个文件,修改前请先备份。 一、查找解析模板,对内容里的变动进行赋值在这段话上面添
dedecms的数据库操作类,非常实用,在二次开发中尤其重要,这个数据库操作类说明算是奉献给大家的小礼物了。
关于用织梦cms做的网站,优化这块有个地方必须要注意一下,就是列表页,我们默认生成的每一页,他的标题、关键词、描述都是一样的,但是搜索引擎有个要求,就是尽量保证网站的标题具有唯一性,意思就是说不要存在同样的title的你的网站里面.很明显织梦默认的是不符