欢迎来到六久阁织梦模板网!
织梦缩略图终极解决办法(不变形、居中裁剪)的三种方法

织梦缩略图终极解决办法(不变形、居中裁剪)的三种方法

浏览次数: 0

作者: 六久阁织梦模板网

信息来源: 六久阁

更新日期: 2019-10-25

文章简介

刚才我在做一个织梦站的时候出现了一个问题就是不管怎样弄自动生成的缩略图文件在列表里都是失真的,变形很严重特别影响美观尤其是那种图片特别长的或者是特别宽的主要元素不集中的图片来说简直就是灾难。 好了,下面的方法我们都用这张图片来演示一下吧我们

  • 正文开始
  • 热门文章

刚才我在做一个织梦站的时候出现了一个问题就是不管怎样弄自动生成的缩略图文件在列表里都是失真的,变形很严重特别影响美观尤其是那种图片特别长的或者是特别宽的主要元素不集中的图片来说简直就是灾难。

好了,下面的方法我们都用这张图片来演示一下吧我们暂且叫它原图:

织梦缩略图终极解决办法(不变形、居中裁剪)的三种方法

第一种方法:原生缩略图不用动不用改生成的缩略图

第二种方法:大众方法缩略图

操作流程:打开网站根目录下的include/helpers/文件夹中的“image.helper.php”文件。

查找如下代码:

$srcW=ImageSX($im);
$srcH=ImageSY($im);
if($srcW<=$toW && $srcH<=$toH )
return TRUE;
$toWH=$toW/$toH;
$srcWH=$srcW/$srcH;
if($toWH<=$srcWH){
$ftoW=$toW;
$ftoH=$ftoW*($srcH/$srcW);
}
else
{
$ftoH=$toH;
$ftoW=$ftoH*($srcW/$srcH);
}

把上面的这些代码全部替换成下面的代码:

$srcW=ImageSX($im);
$srcH=ImageSY($im);
if($srcW<=$toW && $srcH<=$toH )
return TRUE;
$toWH=$toW/$toH;
$srcWH=$srcW/$srcH;
$ftoH=$toH;$ftoW=$toW;
if ($toWH<=$srcWH) {
$src_Y = 0;
$src_X = ($srcW-$srcH*$toWH)/2;
$srcW = $srcH*$toWH;
}
else
{
$src_X = 0;
$src_Y = ($srcH-$srcW/$toWH)/2;
$srcH = $srcW/$toWH;
}

上面的方法是超过缩略图大小的部分就进行裁剪如果说一张图片高是1000像素但只有中间有点20像素的图片则裁剪出来的缩略图就是空白,它剪的是左上角的部分,原理是把一张原图从左上角裁剪出织梦系统设置的高宽后其它的内容全部扔掉。可以对比本文开头的“原图”和“第二种方法”缩略图这两张图片。


第三种方法(强烈推荐):终极长宽高等比例自适应裁剪缩略图

操作流程:同方法二打开网站根目录下的include/helpers/文件夹中的“image.helper.php”文件。查找“缩图片自动生成函数,来源支持bmp、gif、jpg、png”

看到了吧,在这些注释的下面从以下代码开始:

if ( ! function_exists('ImageResize'))

到“获得GD的版本”这些注释结束的所有内容替换成下面的代码(注意是除注释外全部替换哦):

 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,90); 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;
}
}


为了避免出错下面给一个示例:

/**
* 缩图片自动生成函数,来源支持bmp、gif、jpg、png
* 但生成的小图只用jpg或png格式
*
* @access public
* @param string $srcFile 图片路径
* @param string $toW 转换到的宽度
* @param string $toH 转换到的高度
* @param string $toFile 输出文件到
* @return string
*/
(注意哦替换的是这里全部的内容哦很长的一几段内容)
/**
* 获得GD的版本
*
* @access public
* @return int
*/

好了到此保存上传然后试着生成一个缩略图看看吧。到目前为止第三种方法是我见过最好的了它最大的特点就是居中裁剪这样无论如何也不会变形了,而且一般图片的主要像素都是从中间开始的,裁剪出来的缩略图和原图的中间部分都是一模一样的只是把原图中间变小了。

插件下载说明

未提供下载提取码的插件,都是站长辛苦开发,联系客服或站长有偿获得!

织梦二次开发QQ群

本站客服QQ号:3149518909(点击左边QQ号交流),群号(383578617) DedeCMS织梦教程QQ群 如果您有任何织梦问题,请把问题发到群里,阁主将为您写解决教程!

转载请注明: 织梦模板 » 织梦缩略图终极解决办法(不变形、居中裁剪)的三种方法

标签: 织梦缩略图
  • 织梦百度小程序及微信小程序万能API接口插件
    阅读
    DEDECMS 小程序插件简介 互联网上有很多织梦插件,但有些依赖于第三方,有些需要某个php或sql基础,有些插件是免费的,但是需要授权只能生成一个模板式的小程序,嵌入的广告多,代码还加密,且小程序的源代码很昂贵,这也是我开发dedecms 小程序插件的一个重...
  • 织梦dedecms批量导入excel表文章内容插件
    阅读
    完装完插件,可以试验导入一下我给你带的那个EXCEL试验数据,导入的方法:模块-织梦Excel数据导入-选取(选取我带的那个Excel试验文件),把Excel测试文件中带的数据导入到你的网站中,这时你就可以到你的栏目中查看你导入的文章了,当需要把文章导入到不同栏目名称时...
  • 织梦dedecms付费可见插件-支持任何类型网站
    阅读
    织梦dedecms付费可见插件介绍 《织梦付费可见插件》是六久阁发布的一款隐藏内容付费阅读插件。通过安装该插件,可以为文章添加隐藏内容,可以设置有权限查看隐藏内容的条件,例如可以设置注册会员才能查看,或者可以设置需付费后才能查看。 使用步骤: 1.请...
  • 织梦评论留言插件静态版搜索引擎可抓取提升关键词排名
    阅读
    织梦评论插件介绍: 评论插件支持对接织梦会员功能,同步会员头像、会员昵称; 织梦评论插件在前台填入QQ号后,自动获取QQ昵称和QQ头像; 增加评论安全函数,防SQL注入; Jquery优化,减少Jquery体积,以及不必要的调用; 支持回复评论功能,以及对回复的评...
  • 织梦个人免签支付插件(支付宝秒到、微信隔天腾讯转账)
    阅读
    众所周知,织梦接入支付宝、微信等支付方式都需要企业资质,个人用户无法申请,但很多时候个人网站也需要接入支付。 《织梦个人免签支付插件(支付宝秒到、微信隔天腾讯转账)》是六久阁发布的个人支付宝、微信支付收款插件。具有以下特点: 1、接入支付宝、...
  • 织梦tag标签自定义标题、关键词、描述、缩略图静态优化插件(支持手机)
    阅读
    1.织梦tag静态生成。 2.织梦tag的目录自定义,支持数字目录,拼音目录 3.织梦支持自定义TAG的标题,关键词,描述。 5.增加TAG自定义图片,让每个tag页面,都有一个属于自己的图片。 6.增加TAG分类功能,可以按分类,调用不同类别的TAG,让tag前端显示,更...
  • 织梦dedecms整合微信小程序助手
    阅读
    插件介绍 《织梦微信小程序助手》是六久阁发布的便于生成微信小程序的插件。 最新版本:1.3 使用该插件可以一键生成属于你自己网站的微信小程序。...
  • 织梦dedecms响应式后台模板layui框架(手机上操作后台方便)
    阅读
    后台效果 dedecms织梦后台模板layui框架打包下载 (gbk / utf8) - 2017/08/16 云盘下载 密码: f9hs 【警告】 只适合织梦后台程序没有二次开发过的同学使用, 后台程序有二次修改过的同学请用 【Beyond Compare】 软件对比来修改后再使用 【使用说明】 选择对...
  • 织梦dedecms自带采集支持上传附件到七牛云教程
    阅读
    效果图 整合前先注册七牛云账号 我们知道七牛云存储是目前国内最大的文件开放云存储平台,利用七牛云存储我们可以将自己网站需要发布的图片或者附件都上传到七牛云存储,然后通过云存储连接提供给网站用户下载,这样就可以大大减轻网站服务器的文件存储以及...
  • 织梦dedecms自定义表单短信验证及手机验证插件
    阅读
    织梦dedecms自定义表单短信验证 及手机验证插件效果演示: 插件说明: 1、为了避免评论机器人之类的软件工具提交垃圾无用的信息,给织梦自定义表单添加 手机短信验证码 功能是非常有必要的。dedecms自定义表单默认没有验证码功能,但是站长可以通过修改程序...
收藏此文 打赏本站

如本文对您有帮助,就请六久阁织梦模板网抽根烟吧!

  • 支付宝打赏
    支付宝扫描打赏
    微信打赏
    微信扫描打赏
织梦点击图片实现下一页功能
« 上一篇 2019年10月25日
织梦百度编辑器整合七牛云支持图集直传版插件
下一篇 » 2019年10月20日

精彩评论

有问题在这里提问,阁主会为你解决!
  • 全部评论(0
    还没有评论,快来抢沙发吧!
推荐织梦插件更多
dedecms织梦忘记后台管理员密码重置插件下载
更新时间:2018-06-02

人已经看过了!

织梦整合聚合数据短信验证实现查询证书功能
更新时间:2018-12-05

人已经看过了!

织梦最好用幻灯片管理插件
更新时间:2019-07-25

人已经看过了!

织梦dedecms联动筛选插件多选版_支持手机端
更新时间:2019-07-15

人已经看过了!

织梦全站动静态一键设置插件
更新时间:2017-10-15

人已经看过了!

推荐精品模板更多
橙黄色机械设备企业营销型织梦模板+测试数据
更新时间:2017-08-19

人已经看过了!

织梦dedecms在线演示插件下载
更新时间:2017-07-26

人已经看过了!

资源文章分享响应式整站源码带测试数据
更新时间:2017-08-10

人已经看过了!

响应式精细零件五金类企业织梦模板(自适应手机端)
更新时间:2018-04-14

人已经看过了!