织梦dedecms商业教程 织梦DedeCms5.7缩略图变形解决方法

织梦dedecms商业教程 织梦DedeCms5.7缩略图变形解决方法

学习教程tuzi2018-11-06 20:32:45A+A-

织梦的缩略图变形的问题一直为很多人所诟病,不过这个可以自己修改缩略图解决,只是工程量非常的大。即使是织梦DedeCMS5.7版本,也会存在缩略图变形失真的问题。织梦DedeCMS缩略图生成方式都是采用缩小或拉伸的方式进行完整显示,如果使用的图片和缩略图所显示的比例不一致的话,会使得缩略图拉伸变形。

  如何解决织梦DedeCMS5.7缩略图变形的问题呢?还是修改织梦获取缩略图的函数。DedeCMS5.7的函数是在/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;

  }

  对比两部分代码,我们就能看到区别所在了。多了判断图片的面积等内容,这样就可以实现对图片进行按宽或高进行放缩,超过缩略图大小的部分再进行裁剪的功能。经过这样处理得到的缩略图比织梦默认的缩略图要清晰很多,除了上面已经提到的缺点外。


点击这里复制本文地址

声明

本站发布所有广告信息、下载资源,均来自互联网,非本站自制,与本站无关。 如有侵犯您的合法权益请来信告之。我们会在三个工作日内予以清除。


本站中所有资料、资源文件均来自于网络搜索,仅作为技术学习研究之用,请必须在24小时内删除所下载文件,切勿用于商业用途,否则由此引发的法律纠纷及连带责任本站和发布者概不承担。


本站保证站内提供的所有可下载资源(软件等等)都是按“原样”提供,本站未做过任何改动;但本网站不保证本站提供的下载资源的准确性、安全性和完整性;同时本网站也不承担用户因使用这些下载资源对自己和他人造成任何形式的损失或伤害。 


访问本站的用户必须明白,[资源爱好者]对提供下载的软件等不拥有任何权利,其版权归该下载资源的合法拥有者所有。


本站所有资源均不提供相关技术服务,如果源码下载地址失效则请联系站长进行补发。


本站所有资源展现图片仅供参考

资源爱好者 © 本站发布所有资源,均来自互联网,非本站自制,分享目的仅供大家学习与参考,与本站无关。
如有侵犯您的合法权益请来信告之。我们会在三个工作日内予以清除。邮箱:admin?aihao.org
关于我们|广告合作|网站地图|冀ICP备14009590号|冀公网安备 13018302000072号