Home >CMS Tutorial >DEDECMS >How to modify thumbnails in DedeCMS version 5.1

How to modify thumbnails in DedeCMS version 5.1

藏色散人
藏色散人Original
2019-12-20 09:48:212203browse

How to modify thumbnails in DedeCMS version 5.1

DedeCMS 5.1 版缩略图怎么修改?

以前曾收录过这篇文章[Dedecms生成漂亮整齐的缩略图],我做了下尝试,生成缩略图的时候还是会有问题。今天看到这个文章,做个补充。

  

推荐学习:织梦cms

勾选 “提取第一张图片为缩略图” 实际是将第一张图当作缩略图 并没有生成带"_lit"的小图 

修改文件:\dede\action\article_add_action.php 

先看原代码 

代码如下:

//自动获取缩略图 
if($autolitpic==1 && $litpic==''){ 
$litpic = GetDDImgFromBody($body); 
}

大概意思应该就是“缩略图=获取图像从主题内容” 

也就是上面说的实际是第一张原图 这就是问题所在 

参考了4.X里提取缩略图代码,更改为: 

代码如下:

//自动获取缩略图-改 
if($autolitpic==1 && $litpic==''){ 
$cfg_medias_dir = str_replace('/','\/',$cfg_medias_dir); 
$picname = preg_replace("/.+?".$cfg_medias_dir."(.*)( |\"|').*$/isU",$cfg_medias_dir."$1",$body); 
if(eregi("\.(jpg|gif|png)$",$picname)){ 
if(ereg("_lit\.",$picname)) $litpic = $picname; 
else $litpic = GetDDImage('ddfirst',$picname,0); 
} 
}

同理\dede\action\article_eidt_action.php更改为: 

代码如下:

//自动获取缩略图-改 
if($autolitpic==1 && empty($litpic)){ 
$cfg_medias_dir = str_replace('/','\/',$cfg_medias_dir); 
$picname = preg_replace("/.+?".$cfg_medias_dir."(.*)( |\"|').*$/isU",$cfg_medias_dir."$1",$body); 
if(eregi("\.(jpg|gif|png)$",$picname)){ 
if(ereg("_lit\.",$picname)) $litpic = $picname; 
else $litpic = GetDDImage('ddfirst',$picname,0); 
} 
}

然后将这两个文件 复制覆盖到\dede\下。 

OK!这样就能打到勾选“提取第一张...”生成缩略图的目的了。 

缩略图变形 参考[Dedecms生成漂亮整齐的缩略图] 

需修改文件:\include\inc_photograph.php 

找到:($ni,$im,0,0,0,0,$ftoW,$ftoH,$srcW,$srcH); 共三处。 

改为:($ni,$im,0,0,$src_X,$src_Y,$ftoW,$ftoH,$srcW,$srcH); 

修改了缩图函数,就能在原图中截取居中的、最大面积的符合自定义缩略图长宽比列的一部分生成缩略图。

The above is the detailed content of How to modify thumbnails in DedeCMS version 5.1. For more information, please follow other related articles on the PHP Chinese website!

Statement:
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn