一直喜欢浏览一些大的门户网站,查阅新闻等。从来也没有注意过这些门户网站的设计风格什么的,但是今天一位朋友询问我,能不能在网站上用个漂亮的头条图片标题呢?就像人民网那样(如下图)。
可以有些朋友会说为什么要用图片做呢,我们直接可以用文字和css做啊!但有时有一点要提醒大家,有时我们做标题时需要要一些字体特效,可是我们知道并不是每个人的电脑都安装有这些字体的。那么织梦模板可以生成这样的标题吗?其实还是很简单的,下面是我的实现方法。 首先上传字体文件上传到include/data/fonts/下,并命名为 STXINGKA.TTF (字体下载),这个是用于生成标题图片的字体的。当然,你也可以自己定义更漂亮的字体,但字体必须命名为STXINGKA.TTF。 打开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); } } |