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

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

  • iphone13pro怎么关闭5g(iphone13pro怎么关静音震动)

    iphone13pro怎么关闭5g(iphone13pro怎么关静音震动)

  • 1688关注的店铺在哪里(1688关注的店铺取消不了)

    1688关注的店铺在哪里(1688关注的店铺取消不了)

  • 华为nova9有哪些配色(华为nova9有哪些隐藏功能)

    华为nova9有哪些配色(华为nova9有哪些隐藏功能)

  • 华为p40与三星s20对比(华为p40与三星s22对比)

    华为p40与三星s20对比(华为p40与三星s22对比)

  • 微信在新手机登录以前的聊天记录可以恢复吗(微信在新手机登录了 旧手机还能登录吗)

    微信在新手机登录以前的聊天记录可以恢复吗(微信在新手机登录了 旧手机还能登录吗)

  • 退换货邮费谁出(商品退换货邮费谁出)

    退换货邮费谁出(商品退换货邮费谁出)

  • 如何查对方抖音评论(如何查对方抖音关注的人)

    如何查对方抖音评论(如何查对方抖音关注的人)

  • 卖家拒绝了退款并拉黑(卖家拒绝了退款并拉黑钱会退回吗)

    卖家拒绝了退款并拉黑(卖家拒绝了退款并拉黑钱会退回吗)

  • thinkpad打不开机怎么办(thinkpad电脑开不了机怎么办)

    thinkpad打不开机怎么办(thinkpad电脑开不了机怎么办)

  • 抖音怎么看不到别人的音浪(抖音怎么看不到谁收藏了我的作品)

    抖音怎么看不到别人的音浪(抖音怎么看不到谁收藏了我的作品)

  • win10上teredo无法进行限定(microsoft teredo tunneling adapter无法启动)

    win10上teredo无法进行限定(microsoft teredo tunneling adapter无法启动)

  • 恢复出厂设置后照片还能恢复吗(恢复出厂设置后还能恢复微信聊天记录吗)

    恢复出厂设置后照片还能恢复吗(恢复出厂设置后还能恢复微信聊天记录吗)

  • 双模鼠标什么意思(双模鼠标怎么连接电脑)

    双模鼠标什么意思(双模鼠标怎么连接电脑)

  • 怎么给word加边框(怎么给word加边框线)

    怎么给word加边框(怎么给word加边框线)

  • 如何下载拼多多商家工作台(如何下载拼多多商品视频)

    如何下载拼多多商家工作台(如何下载拼多多商品视频)

  • 只读模式怎么修改(只读设置)

    只读模式怎么修改(只读设置)

  • ipad1954是什么型号(ipada1954是2018款么)

    ipad1954是什么型号(ipada1954是2018款么)

  • 演示文稿幻灯片有哪些视图(新建演示文稿幻灯片)

    演示文稿幻灯片有哪些视图(新建演示文稿幻灯片)

  • vivo隐私空间在哪里(vivos1隐私空间)

    vivo隐私空间在哪里(vivos1隐私空间)

  • 乐视手机屏锁怎么关闭(乐视手机10秒解除锁屏)

    乐视手机屏锁怎么关闭(乐视手机10秒解除锁屏)

  • 南方gps使用步骤(南方gps使用步骤视频)

    南方gps使用步骤(南方gps使用步骤视频)

  • 抖音极速版苹果手机怎么下载(抖音极速版苹果版怎么没有红包)

    抖音极速版苹果手机怎么下载(抖音极速版苹果版怎么没有红包)

  • 知乎浏览记录别人看得到吗(知乎的浏览记录别人能看见吗)

    知乎浏览记录别人看得到吗(知乎的浏览记录别人能看见吗)

  • xsmax原装是无线耳机吗(xsmax用什么无线充电器好)

    xsmax原装是无线耳机吗(xsmax用什么无线充电器好)

  • 苹果手机私密相册在哪(苹果手机私密相册怎么设置)

    苹果手机私密相册在哪(苹果手机私密相册怎么设置)

  • 5口百兆交换机用途(5口百兆交换机接法图)

    5口百兆交换机用途(5口百兆交换机接法图)

  • 抖音不想让别人搜到我(抖音不想让别人看到我的浏览记录)

    抖音不想让别人搜到我(抖音不想让别人看到我的浏览记录)

  • word保留一位小数(word保留一位小数的域代码)

    word保留一位小数(word保留一位小数的域代码)

  • QQExternal.exe是什么进程?QQExternal.exe进程为什么被运行?

    QQExternal.exe是什么进程?QQExternal.exe进程为什么被运行?

  • 日本长野县安昙野附近的燕岳山 (© Joshua Hawley/Getty Images)(日本长野县在哪)

    日本长野县安昙野附近的燕岳山 (© Joshua Hawley/Getty Images)(日本长野县在哪)

  • 房产税计入哪个科目 新会计准则
  • 出售股东
  • 收购发票加计扣除
  • 企业销售折扣折让会计分录
  • 什么是一般公共财政预算收入
  • 专项应付款和政府补助的区别是什么
  • 可辨认净资产和所有者权益的区别
  • 亏损金额需要对抵实收金额吗
  • 境内公司没有收购的股票
  • 增值税申报表与财务报表不一致
  • 设计费用计入产品成本吗
  • 红冲后的发票税可以办退税吗
  • 公共部门管理中具有哪些作用
  • 关联方往来款项余额
  • 增值税发票抵扣进项税什么意思
  • 赠品视同销售会计分录要如何编制?
  • 一般销售商品业务
  • 一次性奖金可以分2次发吗
  • 房产税税率2023税率表
  • 个税跨年的可以补报吗
  • 销售商品收到商业汇票属于什么科目
  • 分公司需要计提利息吗
  • 公司付股东退股怎么处理
  • 三星笔记使用攻略
  • 在windows7的
  • 全部投资内部收益率
  • 用代管资金付出的钱
  • 电脑显示器模糊不清晰是什么原因
  • php类的作用
  • 契税发票遗失怎么处理
  • PHP:imagecreatefromgif()的用法_GD库图像处理函数
  • yii2组件的理解
  • 无法偿还的应付账款计入什么科目
  • php读取文件内容
  • 无形资产转让账务怎么做
  • 发票认证的目的和意义
  • 退社保基金怎么办理
  • 如何减税降税
  • mongodb数据表
  • 固定资产怎么确认价值
  • 政府补贴流程
  • 不认定为一般纳税人的有哪些
  • 年末需暂估已发生的费用吗
  • 公司基本户里的钱有利息吗
  • 固定资产提取折旧最新规定
  • 一般纳税人实际税负怎么核算
  • 资产处置损益借贷方向表示什么
  • 多缴所得税返还会计分录
  • 经纪代理服务范围
  • 股东增资有哪几种方法
  • 空头支票是什么数字
  • 公司分红怎么做账
  • 物流行业货币资金占比
  • macbook和windows
  • 提高搜索引擎检索效果的方法
  • win2003加速开机
  • linux安装c环境
  • linux中的文件
  • mac和iphone互动
  • windowsxp是什么时候正式发布
  • win8系统远程桌面在哪里
  • win7共享失败
  • 怎么从win8装回win7
  • cocos2djs
  • unity发布exe
  • react组件写法
  • javascript新手教程
  • 批处理解约瑟夫环应用题代码
  • python获取文件内所有函数
  • jquery实战
  • jquery事件处理有哪些
  • js可以实现网页中哪些效果
  • 河北省电子税务局电话
  • 房产税季度缴纳几号之前
  • 网约车考试全国过了区域没过
  • 经开区税务局党委委员 副局长 杨兴爱
  • 三证合一的资料
  • 地方税务局发票管理所
  • 国企残疾职工安置
  • 个人工资所得税缴纳标准2023年
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

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

    友情链接: 武汉网站建设