主页 > 网站建设 > 建站知识 > 织梦CMS调用漂亮的头条图片标题

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

POST TIME:2020-03-28 21:58

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

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

一、实现方法

1)标题图片字体定义

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

2)标题图片函数文件

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

classDeDeTitle

{

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';

}

functionDeDeTitle($t)

{

$this->__construct($t);

}

functionTextConv()

{

global$cfg_soft_lang;

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

{

returngb2utf8($this->text);

}

return$this->text;

}

functionC($color,$rgb)

{

if(strlen($color)==4)

{

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

{

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

}

$color='#'.$str;

}

switch($rgb)

{

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

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

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

}

}

functionTitlepath()

{

global$cfg_medias_dir;

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

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

if(!is_dir($path))

{

CreateDir($path);

}

return$path.$name;

}

functionShow()

{

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

{

$this->Make();

}

global$cfg_cmsurl;

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

}

functionMake()

{

$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);

}

}



收缩
  • 微信客服
  • 微信二维码
  • 电话咨询

  • 400-1100-266