POST TIME:2020-03-28 21:58
一直喜歡瀏覽一些大的門戶網站,查閱新聞等。從來也沒有注意過這些門戶網站的設計風格什么的,但是今天一位朋友詢問我,能不能在網站上用個漂亮的頭條圖片標題呢?就像人民網那樣(如下圖)。
可以有些朋友會說為什么要用圖片做呢,我們直接可以用文字和css做啊!但有時有一點要提醒大家,有時我們做標題時需要要一些字體特效,可是我們知道并不是每個人的電腦都安裝有這些字體的。那么織夢模板可以生成這樣的標題嗎?其實還是很簡單的,下面是我的實現方法。
首先上傳字體文件上傳到include/data/fonts/下,并命名為 STXINGKA.TTF (字體下載),這個是用于生成標題圖片的字體的。當然,你也可以自己定義更漂亮的字體,但字體必須命名為STXINGKA.TTF。
打開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);
}
}
下一篇:織夢CMS實現復制文章加出處信息