dedecms57调用出现严重失真,缩略图显示严重变形

dedecms57调用出现严重失真,缩略图显示严重变形,第1张

你好,织梦后台选择缩略图的方法有2种,具体如下:

第一种:如图所示,直接在缩略框中输入的地址,例如:

http://wwwzymseocom/uploads/images/200jpg

第二种:点击按钮“站内选择”,即可选择你想要的缩略图。

选择好之后,在文章编辑框中输入内容,然后点击发布,缩略图就会自动显示在首页和栏目页对应的位置。

在赵一鸣随笔博客中有《dedecms织梦建站教程完整版》,你可以作为参考!

如果我的回答对你有用,可以采纳哦!

(1)模板:先找到首页模板,然后看一下大小

(2)文章:找到那篇文章,然后看一下缩略图的大小。

2个方法可以解决该问题

(1)统一模板上的大小到你的文章中,上传和模板里面定义的大小相同的缩略图。(不使用“使用第一张为缩略图”)

(2)统一文章中的缩略图大小,并把模板中的大小以及CSS样式改掉。

首先在网站后台系统中设置网站缩略图尺寸大小和模板中调用最大尺寸相同

再打开文件include/helpers/extendhelpesphp 在最下面加上以下代码

if ( ! function_exists('thumb'))

{

function thumb($imgurl, $width, $height, $bg = true)

{

global $cfg_mainsite,$cfg_multi_site;

$thumb = eregi("http://",$imgurl)str_replace($cfg_mainsite,'',$imgurl):$imgurl;

list($thumbname,$extname) = explode('',$thumb);

$newthumb = $thumbname'_'$width'_'$height''$extname;

if(!$thumbname || !$extname || !file_exists(DEDEROOT$thumb)) return $imgurl;

if(!file_exists(DEDEROOT$newthumb))

{

include_once DEDEINC'/imagefuncphp';

if($bg==true)

{

ImageResizeNew(DEDEROOT$thumb, $width, $height, DEDEROOT$newthumb);

}

else

{

ImageResize(DEDEROOT$thumb, $width, $height, DEDEROOT$newthumb);

}

}

return $cfg_multi_site=='Y'$cfg_mainsite$newthumb:$newthumb;

}

}

调用方法:

标签 : [field:picname function='thumb(@me,$width,$height,$bg)'/]

参数说明:

$width:缩略图宽度(整数)

$height:缩略图高度(整数)

$bg:是否用空白填补,默认自动填补,背景填充颜色在系统-附件设置里(true/false)

举例:

调用长宽为100像素的缩略图:[field:picname function='thumb(@me,100,100)'/]

保留原有比例,不自动填充(不建议):[field:picname function='thumb(@me,100,100,false)'/]

再到 include/helpers/imagehelpesphp 中写入以下代码

/

缩自动生成函数,来源支持bmp、gif、jpg、png

但生成的小图只用jpg或png格式

@access public

@param string $srcFile 路径

@param string $toW 转换到的宽度

@param string $toH 转换到的高度

@param string $toFile 输出文件到

@return string

/

if ( ! function_exists('ImageResize'))

{

function ImageResize($srcFile, $toW, $toH, $toFile="")

{

global $cfg_photo_type;

if($toFile=="")

{

$toFile = $srcFile;

}

$info = "";

$srcInfo = GetImageSize($srcFile,$info);

switch ($srcInfo[2])

{

case 1:

if(!$cfg_photo_type['gif'])

{

return false;

}

$im = imagecreatefromgif($srcFile);

break;

case 2:

if(!$cfg_photo_type['jpeg'])

{

return false;

}

$im = imagecreatefromjpeg($srcFile);

break;

case 3:

if(!$cfg_photo_type['png'])

{

return false;

}

$im = imagecreatefrompng($srcFile);

break;

case 6:

if(!$cfg_photo_type['bmp'])

{

return false;

}

$im = imagecreatefromwbmp($srcFile);

break;

}

$srcW=ImageSX($im);

$srcH=ImageSY($im);

if($srcW<=$toW && $srcH<=$toH )

{

return true;

}

//缩略生成并裁剪

$newW = $toH $srcW / $srcH;

$newH = $toW $srcH / $srcW;

if($newH >= $toH)

{

$ftoW = $toW;

$ftoH = $newH;

}

else

{

$ftoW = $newW;

$ftoH = $toH;

}

if($srcW>$toW||$srcH>$toH)

{

if(function_exists("imagecreatetruecolor"))

{

@$ni = imagecreatetruecolor($ftoW,$ftoH);

if($ni)

{

imagecopyresampled($ni,$im,0,0,0,0,$ftoW,$ftoH,$srcW,$srcH);

}

else

{

$ni=imagecreate($ftoW,$ftoH);

imagecopyresized($ni,$im,0,0,0,0,$ftoW,$ftoH,$srcW,$srcH);

}

}

else

{

$ni=imagecreate($ftoW,$ftoH);

imagecopyresized($ni,$im,0,0,0,0,$ftoW,$ftoH,$srcW,$srcH);

}

//裁剪成标准缩略图

$new_imgx = imagecreatetruecolor($toW,$toH);

if($newH >= $toH)

{

imagecopyresampled($new_imgx,$ni,0,0,0,($newH - $toH)/2,$toW,$toH,$toW,$toH);

}

else

{

imagecopyresampled($new_imgx,$ni,0,0,($newW - $toW)/2,0,$toW,$toH,$toW,$toH);

}

switch ($srcInfo[2])

{

case 1:

imagegif($new_imgx,$toFile);

break;

case 2:

imagejpeg($new_imgx,$toFile,85);

break;

case 3:

imagepng($new_imgx,$toFile);

break;

case 6:

imagebmp($new_imgx,$toFile);

break;

default:

return false;

}

imagedestroy($new_imgx);

imagedestroy($ni);

}

imagedestroy($im);

return true;

}

}

即可

QQ:51461981

1进入专题管理界面,点击添加专题,出现界面如下:

2然后把“专题名称”,“主分类”,“关键字”,“专题简介”等相关信息填写好,这里的主分类,其实就是要把这个专题放在哪个栏目里,,反正根据自己的需要来设定就行。如果为了展示的效果,还可以在“缩略图”这个地方,给这个专题增加一个缩略,添加的方法。至于“专题模板”,dedecms自带了一个模板,默认名称叫“article_spechtm”但是大部分人都不用默认,因为基本没人用默认的模板。

3以上信息都填写好了以后,点击旁边的“专题文档”,就进入选择文章的环节。

4“节点名称”其实就是这个专题下的分类名称,选择“节点文章”就是对应这个分类,想展示的文章内容。

点击“节点文章”后,会谈出一个对话框,对话框是网站里的所有文章,为了方便选择,可以使用右下角的“搜索”,输入要的关键词,展示网站里的文章,勾选你要的文章以后,点击“把选定值加到列表”,内容就选定了。

5选好了内容,文章ID选定,确定以后的界面如下:

6下面的节点2、3、4……以此类推,来选择自己的文章。都弄好了以后,确定就可以发布专题了。但是如果模板路径/templets/default/下面没有article_spechtm这个模板文件,是不能发布专题的。

可以的,如果远程的支持FTP方式,在后台设置即可;

如果类似阿里云OSS那样的,就得修改上传组件了,但推荐是用上传组件。

已经发布的,在数据库表里是有记录路径的,缩略图:litpic,文章表archives里,body里的在addonarticle表里,写sql语句批量替换即可。不会写可以搜索:sql 批量 替换。

dedecms后台有一个功能,就是数据库批量替换,可以结合用一下。

{dede:productimagelist}

                        <li><a href="[field:imgsrc/]" >

                            <img src="/plus/thumbphpdopost=ddimg&img=[field:imgsrc/]" alt="[field:text/]" class="image1"  />

                         </a>

                        </li>

{/dede:productimagelist}

上面用到的文件/plus/thumbphp代码如下

<php

require_once("/include/commonincphp");

require_once('/include/imagefuncphp');

if($dopost=='ddimg')

{

    //生成缩略图

    ob_start();

    if(!preg_match("/^(http:\/\/)([^\/]+)/i", $img)) $img = $cfg_basedir$img;

    ImageResizeNew($img, $cfg_ddimg_width, $cfg_ddimg_height, '', false);

    $imagevariable = ob_get_contents();

    ob_end_clean();

    header('Content-type: image/jpeg');

    header('Content-Length: 'strlen($imagevariable));

    echo $imagevariable;

    exit();

}

DABAN RP主题是一个优秀的主题,极致后台体验,无插件,集成会员系统
网站模板库 » dedecms57调用出现严重失真,缩略图显示严重变形

0条评论

发表评论

提供最优质的资源集合

立即查看 了解详情