您现在的位置是:首页 > cms教程 > DedeCMS教程DedeCMS教程

dede织梦缩略图拉伸变形的解决方法

千青2024-02-04DedeCMS教程已有人查阅

导读织梦目前几个较新版本的缩略图生成方式都是采用缩小或拉伸的方式进行完整显示,如果使用的图片和缩略图所显示的比例不一致的话,会使得缩略图拉伸变形。

织梦目前几个较新版本的缩略图生成方式都是采用缩小或拉伸的方式进行完整显示,如果使用的图片和缩略图所显示的比例不一致的话,会使得缩略图拉伸变形。如果不改变织梦目前的缩略图显示方式的话,又想缩略图不拉伸变形显示,就得制作一个和显示缩略图位置大小一致或者图片比例一致且大于缩略图的分辨率就会不拉伸变形了。
我们可以通过下面方法修改实现,对图片进行按宽或高进行放缩,超过缩略图大小的部分再进行裁剪,这样生成的缩略图的显示效果要比原来的要好得多了。同时也可以采取之际制作好分辨率一致的缩略图进行显示。
于是重新修改了一下DedeCms v5.6缩略图生成方法。
默认dedecms5.6默认生成的缩略图,缩略图大小设置为:100*100(直接把图片缩小了)
看起来很不美观,影响了图片的观赏性
DedeCms v5.6缩略图裁剪优化方法
修改如下:
打开/includes/image.func.php文件,
//缩图片自动生成函数,来源支持bmp、gif、jpg、png
//但生成的小图只用jpg或png格式
找到代码第44行function ImageResize
//获得GD的版本之间的代码,用如下的代码覆盖(大家请注意备份)。
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;
}

本文标签:

很赞哦! ()

相关源码

  • (PC+WAP)蓝色新能源环保太阳能光伏模板pbootcms下载新能源环保行业网站解决方案为太阳能光伏系统企业打造的专业网站模板,助力新能源企业高效展示产品与服务PbootCMS内核开发,源码开放可修改PC与手机端自适应设计查看源码
  • 帝国cms7.2淘宝客导购自媒体博客网站模板源码本模板基于帝国CMS7.2内核深度开发,为淘宝客、商品导购类自媒体及博客网站设计。通过可视化后台管理,可快速搭建具备商品推荐、比价功能的内容平台,帮助用户实现流量高效转化。查看源码
  • (自适应响应式)高端简繁双语HTML5金融资本咨询单页pbootcms模板采用响应式设计确保在各类手机端设备很好的呈现。该模板专注于金融咨询、资本管理等领域企业形象展示,通过结构化布局突出行业专业度与可信度,后台数据同步管理简化内容维护流程。查看源码
  • (自适应)品牌策划高端设计公司网站pbootcms模板免费下载本模板为品牌策划与设计公司打造,基于PbootCMS内核开发,充分考虑了创意设计行业的视觉展示需求。模板设计风格现代简约,布局合理清晰,呈现设计作品与专业服务,帮助设计公司展示创意实力并吸引潜在客户。查看源码
  • 帝国cms大气淘宝客网站源码带手机版带火车头采集本款创意礼物导购网站模板为礼物类电商平台设计,采用清爽简约的界面风格,具备完善的商品导购功能。系统支持在文章攻略中灵活插入商品购买链接,实现内容与电商的结合。查看源码
  • (自适应)蓝色英文外贸电子科技产品带三级栏目网站模板为外贸企业设计的英文网站模板,基于PbootCMS系统开发。突出多语言支持和国际化布局,三级栏目结构清晰展示产品分类,响应式设计确保更好客户在移动端和PC端获得一致的专业体验。查看源码
分享笔记 (共有 篇笔记)
验证码:

本栏推荐