位置: IT常识 - 正文

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

编辑:rootadmin

推荐整理分享织梦缩略图终极解决办法(不变形、居中裁剪)的三种方法(织梦图片要放哪里),希望有所帮助,仅作参考,欢迎阅读内容。

文章相关热门搜索词:织梦栏目内容不显示,织梦使用教程,织梦不能自动提取缩略图,织梦栏目内容不显示,织梦底部广告怎么在中间,织梦图片要放哪里,织梦不能自动提取缩略图,织梦不能自动提取缩略图,内容如对您有帮助,希望把文章链接给更多的朋友!

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

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

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

操作流程:打开网站根目录下的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;}织梦缩略图终极解决办法(不变形、居中裁剪)的三种方法(织梦图片要放哪里)

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

$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*/

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

免责

本文链接地址:https://www.jiuchutong.com/zhishi/313131.html 转载请保留说明!

上一篇:Go设计模式学习准备——下载bilibili合集视频(设计模式golang)

下一篇:织梦最新发表的文章标题显示红色字体(织梦官方网站)

  • 苹果手机悬浮球不见了如何恢复(苹果手机悬浮球怎么显示)

    苹果手机悬浮球不见了如何恢复(苹果手机悬浮球怎么显示)

  • qq群聊自己的麦怎么关闭(qq群聊麦克风怎么打开)

    qq群聊自己的麦怎么关闭(qq群聊麦克风怎么打开)

  • 佳能m50怎么关闭红色闪灯(佳能m50怎么关闭对焦辅助灯)

    佳能m50怎么关闭红色闪灯(佳能m50怎么关闭对焦辅助灯)

  • 手机主板发烫解决方法(手机主板发烫会造成后果)

    手机主板发烫解决方法(手机主板发烫会造成后果)

  • oppor11系统更新后没有声音(oppor11版本更新)

    oppor11系统更新后没有声音(oppor11版本更新)

  • 11年前的通话记录能找到吗(多年前的通话记录)

    11年前的通话记录能找到吗(多年前的通话记录)

  • word怎么插图进去(怎么在word里插图)

    word怎么插图进去(怎么在word里插图)

  • 桌面的新含义是什么意思(桌面的新含义是什么四年级)

    桌面的新含义是什么意思(桌面的新含义是什么四年级)

  • 7p和8p的区别对比(7p和8p的区别对比照片)

    7p和8p的区别对比(7p和8p的区别对比照片)

  • qq把好友申请屏蔽了对方会知道吗(qq好友申请设置在哪)

    qq把好友申请屏蔽了对方会知道吗(qq好友申请设置在哪)

  • 朋友圈置顶视频怎么发(怎么用视频号发长视频到朋友圈)

    朋友圈置顶视频怎么发(怎么用视频号发长视频到朋友圈)

  • 第六代ipad是2018款吗(第六代ipad是哪一款)

    第六代ipad是2018款吗(第六代ipad是哪一款)

  • 微信被删了会显示什么(微信被删了会显示步数吗)

    微信被删了会显示什么(微信被删了会显示步数吗)

  • qq空间举报别人会被知道吗(qq空间举报别人能看出来是谁吗)

    qq空间举报别人会被知道吗(qq空间举报别人能看出来是谁吗)

  • 华为多页面视图怎么取消(华为多页面视图功能怎么解锁)

    华为多页面视图怎么取消(华为多页面视图功能怎么解锁)

  • vivox27手机防水吗(x27vivo防水不)

    vivox27手机防水吗(x27vivo防水不)

  • 发说说怎么显示拍摄于(发说说怎么显示拍摄地点,天气,时间)

    发说说怎么显示拍摄于(发说说怎么显示拍摄地点,天气,时间)

  • 与大数据密切相关的技术是(大数据密切相关的技术是什么)

    与大数据密切相关的技术是(大数据密切相关的技术是什么)

  • a1978是几代苹果手表(a1978是几代苹果多少钱买的)

    a1978是几代苹果手表(a1978是几代苹果多少钱买的)

  • 换手机号会影响微信吗(换手机号会影响微信使用吗)

    换手机号会影响微信吗(换手机号会影响微信使用吗)

  • gsm900/1800是什么意思

    gsm900/1800是什么意思

  • 鸿蒙系统字体怎么改?鸿蒙系统字体更改教程(鸿蒙系统字体不太好看)

    鸿蒙系统字体怎么改?鸿蒙系统字体更改教程(鸿蒙系统字体不太好看)

  • lvreduce命令  减少LVM逻辑卷所占空间大小(lvresize命令)

    lvreduce命令 减少LVM逻辑卷所占空间大小(lvresize命令)

  • 税务做定额
  • 进口海关是指
  • 电子承兑汇票兑现
  • 一般纳税人结转销售成本怎么算
  • 控股子公司增资扩股
  • 税法关于开具发票的规定
  • 跨月收入账务处理
  • 当月进项税额大于销项税额
  • 简易征收和简易计税的区别
  • 装修项目展示厅费用支出列什么科目?
  • 跨年的发票作废账务如何处理
  • 生产用水的会计分录
  • 企业所得税申报流程图
  • 跨年的增值税普通发票可以入账吗
  • 海关的消费税怎么计算
  • 物业公司收小区物业费吗
  • 某运输企业以客运,货运划分
  • 销售不动产如何开票样本
  • 原材料明细账余额为零怎么写
  • 职工教育经费取得证件之后补助多少钱
  • 无法收回的款项摘要怎么写
  • 持有至到期投资减值准备
  • 电脑开机后一直滴滴
  • 床垫专票可以抵扣吗
  • 事业单位付银行贷款利息
  • 注册会计师考试成绩查询2023
  • 怎么计提企业所得税在哪里知道计提多少
  • win11如何降到win10
  • linux使用cp
  • u盘数据全部丢失
  • 增值税专用发票查询系统官方网站
  • 企业无偿提供劳务
  • 预计负债的所得税怎么算
  • 企业迁址如何办理手续
  • 年金单位缴费计入个人账户(税前)
  • twig里使用js变量的方法
  • java项目报错
  • 深入node.js技术栈
  • 固定资产多少可以上市
  • 条形码费用属于哪个科目
  • 资产负债表所有者权益怎么算
  • 公司收到股权转让款需要交什么税种
  • 删除一张表的某一条记录
  • 分配水电费会计科目
  • 单位举办活动
  • 网银转账退回来是怎么回事
  • 视频制作开票属于现代服务吗?
  • 代开发票预缴税款的比例是多少呢?
  • 银行理财产品算银行存款吗
  • 金三财务报表如何更正?
  • 审计备案表
  • 工程发票可以分两次开吗
  • 企业一般用什么系统
  • sqlserver连接异常
  • 一键u盘装系统软件哪个好
  • 如何最简单的
  • 应用程序复制粘贴
  • win7运行慢如何解决办法
  • centos7如何添加光盘
  • 制作linux的u盘安装盘
  • win1020h2更新卡在1
  • fsc文件用什么软件打开
  • xwizard.exe是什么
  • node.js gui
  • cocos2d-x教程
  • bootstrap基础
  • Node.js中的事件循环是什么意思
  • node.js操作文件
  • Linux 中的 lo:0
  • python爬虫过程
  • python中读取文件
  • unity3d模型怎么制作
  • 遮罩层 css
  • android基础入门教程
  • JavaScript中的this
  • javascript基础入门教程
  • jquery的点击事件怎么写
  • 安卓屏幕适配详解
  • 非涉密网络严禁什么
  • 代理记账公司简介模板范文
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

    网站地图: 企业信息 工商信息 财税知识 网络常识 编程技术

    友情链接: 武汉网站建设