织梦号织梦号

何其有幸,我们相遇。

dedecms图片自动缩小插件(等比例压缩)

如果没有找到您需要的插件,欢迎 QQ咨询定制插件!

在给客户做网站的时候,经常告诉客户说发布文章的图片要处理下再上传,但是往往客户都觉得一张张图片修改起来太麻烦了(其实我也觉得一张张图片修改,实在太麻烦了),不听劝告,经常上传的是相机或者手机拍摄的原图,这样不仅占用网站空间,而且也会严重影响到网站打开速度!

今天就为大家分享dedecms怎么实现图片过大就自动等比例压缩的方法!

dedecms图片自动缩小插件(等比例压缩)

一、首先在后台基本参数添加2个字段 :cfg_imgresize,cfg_maxwidth ,相关设置如下:

dedecms图片自动缩小插件(等比例压缩)

dedecms图片自动缩小插件(等比例压缩)

如果觉得操作太麻烦的话,请点击这里下载懒人包,密码: p68c解压到网站根目录覆盖即可!(这是utf8版的哦!GBK请自行转换!)

二、打开 include/dialog/select_images_post.php 大约63行找到  move_uploaded_file($imgfile, $fullfilename) or die("上传文件到 $fullfilename 失败!");  ! 后面添加

$imgw=getimagesize($fullfilename);
if($cfg_imgresize=='Y'&&$imgw[0]>$cfg_maxwidth){
ImageResize2($fullfilename,$cfg_maxwidth);
}

保存!

三、打开 include/helpers/image.helper.php 在最后面添加 

/**
*图片等比例缩小,来源支持bmp、gif、jpg、png
*但生成的小图只用jpg或png格式
*
*@accesspublic
*@paramstring$srcFile图片路径
*@paramstring$toW最大宽度,超出自动缩放为此宽度
*@paramstring$toFile输出文件到
*@returnstring
*/
if(!function_exists('ImageResize2'))
{
functionImageResize2($srcFile,$toW,$toFile="")
{

global$cfg_photo_type;
if($toFile=='')$toFile=$srcFile;
$info='';
$srcInfo=GetImageSize($srcFile,$info);
switch($srcInfo[2])
{
case1:
if(!$cfg_photo_type['gif'])returnFALSE;
$im=imagecreatefromgif($srcFile);
break;
case2:
if(!$cfg_photo_type['jpeg'])returnFALSE;
$im=imagecreatefromjpeg($srcFile);
break;
case3:
if(!$cfg_photo_type['png'])returnFALSE;
$im=imagecreatefrompng($srcFile);
break;
case6:
if(!$cfg_photo_type['bmp'])returnFALSE;
$im=imagecreatefromwbmp($srcFile);
break;
}
$srcW=ImageSX($im);
$srcH=ImageSY($im);
if($srcW$toW)
{
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);
}
switch($srcInfo[2])
{
case1:
imagegif($ni,$toFile);
break;
case2:
imagejpeg($ni,$toFile,100);
break;
case3:
imagepng($ni,$toFile);
break;
case6:
imagebmp($ni,$toFile);
break;
default:
returnFALSE;
}
imagedestroy($ni);
}
imagedestroy($im);
returnTRUE;
}
}

就可以实现 dedecms图片自动缩小插件(等比例压缩)!

这样就再也不用担心上传的图片太大了!也不用很麻烦的一张张手动修改了!

如果要上传超过设置的宽度的大图的话,请到基本参数关闭 “图片等比例缩小”,设置为 否,保存即可! 或者使用FTP等工具上传!


觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

微信扫一扫打赏