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

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

  • 手机地震警报器怎么设置(手机地震警报器怎么设置vivo)

    手机地震警报器怎么设置(手机地震警报器怎么设置vivo)

  • iphone11可以设置电池百分比吗(iPhone11可以设置专注模式吗)

    iphone11可以设置电池百分比吗(iPhone11可以设置专注模式吗)

  • 华为nova7微信如何加密(华为nova7微信如何共享存储空间)

    华为nova7微信如何加密(华为nova7微信如何共享存储空间)

  • 微信怎样建群(微信怎样建群当群主)

    微信怎样建群(微信怎样建群当群主)

  • 微信腾讯投票是否匿名(微信腾讯投票怎么看结果)

    微信腾讯投票是否匿名(微信腾讯投票怎么看结果)

  • 华为mate20有3.5耳机孔吗(mate20的耳机什么样子的)

    华为mate20有3.5耳机孔吗(mate20的耳机什么样子的)

  • 华为无线充电伤电池吗(华为手机无线充电对电池寿命)

    华为无线充电伤电池吗(华为手机无线充电对电池寿命)

  • 钉钉老师把回放删了怎么办(钉钉老师把回放删了)

    钉钉老师把回放删了怎么办(钉钉老师把回放删了)

  • 相册完全删除的照片怎么找回(相册完全删除的照片怎么找回没有最近删除)

    相册完全删除的照片怎么找回(相册完全删除的照片怎么找回没有最近删除)

  • 戴尔预装office是永久的吗(dell装的office是什么版本)

    戴尔预装office是永久的吗(dell装的office是什么版本)

  • 对方的朋友圈不显示了(对方的朋友圈不显示了是为什么)

    对方的朋友圈不显示了(对方的朋友圈不显示了是为什么)

  • 充电器发热还能继续充电吗(充电器发热对充电器有影响吗)

    充电器发热还能继续充电吗(充电器发热对充电器有影响吗)

  • 手机功放坏了什么现象(手机功放损坏的表现)

    手机功放坏了什么现象(手机功放损坏的表现)

  • 外部css样式表文件的扩展名(css外部样式表基本语法)

    外部css样式表文件的扩展名(css外部样式表基本语法)

  • 华为安全模式怎么关(华为安全模式怎么进入)

    华为安全模式怎么关(华为安全模式怎么进入)

  • 淘宝店铺可以注销吗(淘宝店铺可以注册营业执照吗)

    淘宝店铺可以注销吗(淘宝店铺可以注册营业执照吗)

  • 手机怎么更换接入点(手机怎么换接电话方式)

    手机怎么更换接入点(手机怎么换接电话方式)

  • 奕跑怎么解除实名制(奕跑用户手册)

    奕跑怎么解除实名制(奕跑用户手册)

  • 小米手环充电没反应(小米手环充电没拔有影响吗)

    小米手环充电没反应(小米手环充电没拔有影响吗)

  • 抖音能不能投屏到电视(抖音能不能投屏到小米电视)

    抖音能不能投屏到电视(抖音能不能投屏到小米电视)

  • p30pro超广角怎么打开(华为p30相机超广角功能怎么用?)

    p30pro超广角怎么打开(华为p30相机超广角功能怎么用?)

  • airpods充电盒怎么重置(Airpods充电盒怎么找回)

    airpods充电盒怎么重置(Airpods充电盒怎么找回)

  • 苹果7plus悬浮球在哪设置(苹果7plus悬浮球怎么设置里没有了)

    苹果7plus悬浮球在哪设置(苹果7plus悬浮球怎么设置里没有了)

  • 纳税人识别号怎么看是不是一般纳税人
  • 印花税会计分录怎么做
  • 个体户做了定额还需要申报个税吗
  • 经营成本是营业成本还是营业总成本
  • 发票第一联需要盖章嘛
  • 向投资者分配现金股利会影响负债吗
  • 小微企业的增值税怎么算
  • 疫苗接种防疫站
  • 长期借款利息计入在建工程
  • 暂估入账估低了怎么办
  • 开票系统维护费每年都要交吗
  • 管理费用和财务费用算营业成本吗
  • 新成立公司没有财务报表情况说明
  • 2021申请一般纳税人公司的条件
  • 个人设备租赁给公司怎么提供发票
  • 稳岗补贴发放给职工需要交个税吗?
  • 未取得正式发票怎么整改
  • 预缴税款的附加税可以抵扣吗
  • 金税四期具体内容
  • 增值税计入无形资产的入账价值吗?
  • 信用卡消费凭证
  • 宣传费开票属于什么费用
  • 购买商品用于赠送
  • 上年度退回来的所得税,怎么做分录
  • 金税盘怎么做账务处理
  • 什么是民政福利企业
  • 最新气象报告
  • 公司免税是指免的什么税
  • ios9.3.5如何越狱
  • 为员工租赁房屋产生的租赁费可以抵扣增值税和所得税吗
  • 车间报销办公用品费
  • 单位管理费用核算
  • php字段
  • 非营利组织免税范围
  • 微信手机充值怎么自定义金额
  • 【C#+JavaScript+SQL Server】实现Web端在线考试系统 五:考试模块设计(附源码和资源)
  • css基础实验报告
  • vue项目更新后还是老代码
  • 10年未被强制修复!黑客利用Windows旧漏洞攻击通信公司并分发恶意文件
  • 视图机制
  • 若依idea
  • 资金账簿印花税怎么算
  • 劳务公司可以
  • 将织梦dedecms转换到wordpress
  • windows mongodb安装与配置
  • 经营范围没有的项目开票了会怎么样
  • 如何算基数
  • 公司贷款谁签字
  • 建筑公司劳务分包开票内容怎么写
  • 个人如何开增值税普通电子发票
  • 债权投资是什么会计科目
  • 企业的银行转账多久到账
  • 补发工资如何计税计算
  • 利润相关计算公式是什么
  • 增资扩股步骤
  • 企业收到政府补助金80 000元,存入银行
  • 小微企业a201010表怎么填
  • 主营业务收入和营业外收入的区别
  • 二次加工型的企业有哪些
  • 改制基准日对人员的影响
  • 一个 sql 查询很慢,从哪些地方进行优化?
  • windows10的改进
  • wpl是什么文件
  • 内核版本能升级吗
  • centos7操作命令
  • centos获取权限
  • linux中qq怎么添加快捷键启动功能?
  • win70x80070002系统找不到指定的文件
  • Win7旗舰版64位如何关闭电脑触摸屏功能的方法
  • 检查linux是否安装了,可用哪些命令
  • unity3D LineRender的使用
  • css滤镜特效属于css样式定义分类中的
  • div如何排版
  • [android] intent实例
  • 安卓开发常见问题解决
  • jquery可以实现哪些效果
  • js中的类是什么
  • 21年小规模企业所得税税率
  • 曲靖市国家税务局杨春天
  • 上海买房各种税
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

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

    友情链接: 武汉网站建设