位置: 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)

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

  • realmebook电池多大(realmex的电池容量)

    realmebook电池多大(realmex的电池容量)

  • 小米手机怎么拍月亮(小米手机怎么拍月亮更清晰)

    小米手机怎么拍月亮(小米手机怎么拍月亮更清晰)

  • 小翼管家视频怎么保存到手机(小翼管家视频怎么导出)

    小翼管家视频怎么保存到手机(小翼管家视频怎么导出)

  • 腾讯会议主持人如何关闭其他人麦克风(腾讯会议主持人可以看到别人的屏幕吗)

    腾讯会议主持人如何关闭其他人麦克风(腾讯会议主持人可以看到别人的屏幕吗)

  • 苹果x来电声音刚开始大后来小(苹果X来电声音怎么调)

    苹果x来电声音刚开始大后来小(苹果X来电声音怎么调)

  • 1333和1600差距大吗(1333和1600差距大不大)

    1333和1600差距大吗(1333和1600差距大不大)

  • 卡贴机建议购买吗(卡贴机建不建议买)

    卡贴机建议购买吗(卡贴机建不建议买)

  • 收到彩信怎么打开(收到彩信怎么打不开)

    收到彩信怎么打开(收到彩信怎么打不开)

  • 微信红包账单删除了还能查询吗(微信红包账单删除后还能查到吗)

    微信红包账单删除了还能查询吗(微信红包账单删除后还能查到吗)

  • 苹果x和8plus对比(苹果x和8plus哪个好 对比)

    苹果x和8plus对比(苹果x和8plus哪个好 对比)

  • 微信举报记录怎么查询(微信举报记录在哪儿)

    微信举报记录怎么查询(微信举报记录在哪儿)

  • qq来信息为什么不弹窗(qq来信息为什么没有声音是怎么回事)

    qq来信息为什么不弹窗(qq来信息为什么没有声音是怎么回事)

  • 苹果XR手机突然黑屏了这是怎么办(苹果xr手机突然没有信号了怎么办)

    苹果XR手机突然黑屏了这是怎么办(苹果xr手机突然没有信号了怎么办)

  • 为什么抖音不能留联系方式(为什么抖音不能微信支付怎么设置)

    为什么抖音不能留联系方式(为什么抖音不能微信支付怎么设置)

  • ml6h2ch a是什么版本(ml6h2ch/a是苹果什么型号)

    ml6h2ch a是什么版本(ml6h2ch/a是苹果什么型号)

  • 7p和8p电池通用吗(7p电池和8p电池对比)

    7p和8p电池通用吗(7p电池和8p电池对比)

  • airpods pro只能苹果手机用吗(airpodspro只能用一只)

    airpods pro只能苹果手机用吗(airpodspro只能用一只)

  • 公众号可以看到访客吗(公众号可以看到谁关注吗)

    公众号可以看到访客吗(公众号可以看到谁关注吗)

  • 爱奇艺如何看电视直播(爱奇艺如何看电影)

    爱奇艺如何看电视直播(爱奇艺如何看电影)

  • 什么是设计绘图(什么叫设计图)

    什么是设计绘图(什么叫设计图)

  • 荣耀20s支持多少瓦快充(荣耀20s支持多少瓦充电)

    荣耀20s支持多少瓦快充(荣耀20s支持多少瓦充电)

  • iphone 11 pro max双卡怎么插(apple iphone 11pro max)

    iphone 11 pro max双卡怎么插(apple iphone 11pro max)

  • 华为p30pro支持内存卡吗(华为p30pro支持内存卡口)

    华为p30pro支持内存卡吗(华为p30pro支持内存卡口)

  • 怎么查看与qq好友认识的时间(怎么查看与qq好友亲密)

    怎么查看与qq好友认识的时间(怎么查看与qq好友亲密)

  • 关机微信运动能计步吗(关机微信运动会显示步数吗)

    关机微信运动能计步吗(关机微信运动会显示步数吗)

  • Win7系统如何设置文件夹共享(win7系统如何设置热点)

    Win7系统如何设置文件夹共享(win7系统如何设置热点)

  • 工业产值是含税价格吗
  • 房地产企业怎么认定
  • 计提生产车间工人和车间管理人员工资
  • 股东继续投资
  • 减免申报表如何填
  • 党建经费可以用来干什么
  • 其他应付款无法支付规定
  • 生产能量计入固定成本
  • 一般纳税人月底增值税如何结转
  • 增值税普通发票和普通发票的区别怎么交税
  • 利润表本期金额怎么算
  • 购入生产产品用的机器设备一台
  • 小规模纳税人费用票怎么做账
  • 公司如何向税务部门举报
  • 保安公司开具的发票
  • 汽车加油专票可以抵扣税款吗
  • 公司奖励员工旅游怎么做账
  • 重点税源财务指标有哪些
  • 个人所得税申报截止时间
  • 筹建期间的广宣费
  • 如何在Excel中进行单元格格式化?
  • Win10系统如何修改开机密码
  • 收到股改代扣代缴税款
  • 发送文件桌面上显示不出来
  • 开发商未出售的房子有产权证吗
  • 简单制作教程
  • win10最新版本22h2激活
  • 个人承包建筑工程转让协议
  • 企业代付个人所得税计算公式
  • 冲销多计提所得税
  • 最小的触屏手机有哪些
  • php xml
  • 合并及公司利润表
  • 信用减值损失在借方是增加还是减少
  • 布莱顿小镇介绍
  • phple
  • layui 安卓
  • 瑞吉外卖项目简历
  • mysql5.7分区表
  • 以前年度损益调整结转到本年利润吗
  • 工会经费残保金怎么申报
  • php sql 教程
  • 房地产企业卖房子增值税税率
  • python爬虫详细教程
  • mysql优化总结
  • 使用时间
  • hadoop集群状态
  • 租集体土地建厂合法吗
  • 期权分为哪几种
  • 出口货物退货如何入账
  • 小规模申报表填写模板
  • 办公室租金产生的税率
  • 汽车抵押贷款会计分录
  • 资本溢价举例说明
  • 建筑业异地预交税款最新规定
  • 分红做什么会计分录
  • 网上银行回单可以做账吗
  • 人们对餐饮业的要求
  • 机械租赁带司机和不带司机的税率
  • 提前还贷款要满十八岁吗
  • 金税盘可以申请发票吗
  • 科目汇总表里的应交税费
  • 股东之间转让股权有优先购买权吗
  • 零售货品
  • 清华同方笔记本无线网络开关在哪
  • 怎样打开windows设置页面
  • Red Hat Enterprise Linux 5.X的图形安装教程
  • dell笔记本系统安装步骤
  • Mac如何使用Excel
  • win8桌面图片位置
  • Extjs Ext.MessageBox.confirm 确认对话框详解
  • vue插件使用
  • python 聚类算法包
  • unity uma
  • js编写一个标准的单例模式类
  • 河北发票查询真伪查询
  • 如何查询车辆购买信息
  • 汽车买保险车船税是什么意思
  • 重庆电子税务局电话人工客服电话
  • 如何下载电子国税app
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

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

    友情链接: 武汉网站建设