objectfit
属性。将该属性设置为cover
,可以确保图片保持其宽高比并完全覆盖容器,同时可能会裁剪部分图片。,,代码示例:,“css,.dedethumbnail img {, objectfit: cover;,},
“在织梦CMS(DedeCMS)中实现缩略图不拉伸变形,可以通过修改生成缩略图的方法来实现,以下是具体步骤和方法:
方法概述
织梦CMS默认的缩略图生成方式可能导致图片拉伸或缩小,从而影响图片的观赏性,为了避免这种情况,可以对图片进行按宽或高放缩,并对超过缩略图大小的部分进行裁剪,这样生成的缩略图显示效果会更佳。
具体步骤
1、打开文件:找到并打开/includes/image.func.php文件。
2、修改代码:在该文件中找到ImageResize函数,该函数负责生成缩略图,从第44行开始,用以下代码覆盖原有代码:
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,85); 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; }
3、保存文件:完成代码修改后,保存并关闭文件。
4、测试效果:上传一张图片到网站,查看其缩略图是否按照预期进行了裁剪和放缩,且没有拉伸变形。
通过上述步骤,可以在DedeCMS中实现缩略图不拉伸变形的效果,提升网站的视觉效果和用户体验,如果遇到任何问题,建议查阅官方文档或寻求专业帮助。
原创文章,作者:未希,如若转载,请注明出处:https://www.kdun.com/ask/1226629.html
本网站发布或转载的文章及图片均来自网络,其原创性以及文中表达的观点和判断不代表本网站。如有问题,请联系客服处理。
发表回复