DeDecms中实现更漂亮整齐的缩略图的实现代码

刚开始使用DEDE不久,最初采集发现自动生成的缩略图片其实是根据自定义的最大长宽,原比例的缩小原图片,不利于图片索引页排版,不得已CSS里采用了自动判断调整高宽—但比较耗资源。所以还是决定改改缩图函数—-再次感谢DEDE的开源!!

修改文件:inc_photograph.php

代码如下:

if($toWH<=$srcWH){ 
  $ftoW=$toW; 
  $ftoH=$ftoW*($srcH/$srcW); 

else{ 
  $ftoH=$toH; 
  $ftoW=$ftoH*($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; 
}

关键点:


代码如下:

($ni,$im,0,0,0,0,$ftoW,$ftoH,$srcW,$srcH)

更改为

代码如下:

($ni,$im,0,0,$src_X,$src_Y,$ftoW,$ftoH,$srcW,$srcH)

其实就一小小改动,就是在原图中截取最大面积的符合自定义缩略图长宽比列的一部分生成缩略图。

(0)

相关推荐

  • DeDecms中实现更漂亮整齐的缩略图的实现代码

    刚开始使用DEDE不久,最初采集发现自动生成的缩略图片其实是根据自定义的最大长宽,原比例的缩小原图片,不利于图片索引页排版,不得已CSS里采用了自动判断调整高宽-但比较耗资源.所以还是决定改改缩图函数--再次感谢DEDE的开源!! 修改文件:inc_photograph.php 复制代码 代码如下: if($toWH<=$srcWH){    $ftoW=$toW;    $ftoH=$ftoW*($srcH/$srcW);  }  else{    $ftoH=$toH;    $ftoW=$

  • DeDecms实现更漂亮整齐的缩略图

    本身php就允许对图片进行各种截取.重新生成.合并.压缩等操作,因此为了追求完美,你可以参考下文. 刚开始使用DEDE不久,最初采集发现自动生成的缩略图片其实是根据自定义的最大长宽,原比例的缩小原图片,不利于图片索引页排版,不得已CSS里采用了自动判断调整高宽-但比较耗资源.所以还是决定改改缩图函数--再次感谢DEDE的开源!! 修改文件:inc_photograph.php 程序代码 if($toWH<=$srcWH){   $ftoW=$toW;   $ftoH=$ftoW*($srcH/$

  • DeDecms中利用关键词实现简单tag功能的php代码

    修改模板文件,例如article_article.htm,在需要增加tag的地方,增加如下代码: 复制代码 代码如下: {dede:field name='keywords' runphp='yes' }      if(!empty(@me)){            $kws = explode(' ',@me);            @me = "";            foreach($kws as $k){            @me .= "<a h

  • dedecms中常见问题修改方法总结

    新手常见问题,此贴是早些时候我发的,在3.1正式版中.有些问题已得到修正,不过仍可作为修改或学习参考 请大家花点耐心看完这个吧,这些问题很多人都有碰到.何必要不停的发贴子问呢? 另外,看完这个请去你自己的后台看完模板标记参考!!特别是arclist这个标记的参数说明!! 多思考一下问题,多试验一下标记,,学到就是自己的,学不到,谁也帮不到你!! 补充一点..很多标记都可以参考系统默认的模板和模板区的一些好模板,多看标记体会每个标记的用法, 下文如果有您的贴子..感谢您对DEDE的匏礁冻?. 3.

  • dedecms中使用php语句指南

    在DEDECMS中,使用php语句的话,本身是有{dede:php}标签可以使用的,最简单的输入如 复制代码 代码如下: {dede:php} $numA = 1; $numB = 2; echo $numA + $numB; {/dede:php} 从上面语句可以看出dede:php标签可以名符其实的让在php中一样的用法,上面语句在php写法如下 复制代码 代码如下: <? $numA=1; $numB=2; echo $numA+$numB; ?> 是不是看上去很像啊,再看一个再有if

  • 完美解决dedecms中的[html][/html]和[code][/code]问题

    终于解决了完美解决dedecms中的[html][/html]和[code][/code]问题,因为我的php不太熟练,所以正则搞了好几天,才能好,这次主要修改了discuz5.5和dedecms3.1的运行功能和code功能,好开心啊,开始新站的数据转移工作和新站模版制作了,到时候一个全新的我们了,如果有问题,大家可以交流下,现在blueidea和51js和dedecms的论坛问这个问题他们没有回答,但不影响效果,也让我自己学到了东西.

  • 在Vue页面中如何更优雅地引入图片详解

    目录 错误示范 通过computed 当图片不变的时候直接引入 通过css变量切换图片 通过css绘制 总结 在我们写vue项目中肯定会用到各种图片,那么如何更好的使用图片资源呢.这里我讲一下我常用的方法. 错误示范 也许你的代码里常常会这样写 <template> <img :src="src"> </template> <script> export default{ data(){ return { src: require('xx

  • Java 截取视频资料中的某一帧作为缩略图

    目录 基础知识 FFmpegFrameGrabber BufferedImage,ImageIO MultipartFile 具体实现 引入依赖 最近项目中有一个需求,就是要实现视频资料的收藏功能,当时想了想,收藏记录实现并不是很难,但是想展现出视频的缩略图,就要想想其他办法了,所以就想到了截取视频资料中的某一帧作为缩略图,我没有选择截取第一帧,选择的是第五帧,因为第一帧可能没有内容. 基础知识 JavaCV:功能很强大,封装了很多很视频.图片相关的内容. JavaCV 是一款基于JavaCPP

  • 在Vue3中如何更优雅的使用echart图表详解

    目录 前言 封装思路 引入模块 封装功能 使用例子 总结 前言 在大屏可视化项目中,我们常常需要用到很多的图表组件,通常你会编写很多的option对图表进行渲染,以及引入它们所需的一些组件并使用echart.use. 在Vue2中我们常常把可复用的组件单独抽离出来,再通过props.emit等方法向复用组件中传入组件所需数据,而在Vue3中我们可以将一些逻辑功能写成hook进行抽离和复用再传入到视图中,这会不仅让你的组件中的代码更加优雅而且阅读性更强. 封装思路 引入模块 我们先创建lib.ts

  • 完美实现GIF动画缩略图的php代码

    下面通过一个取自CS警匪游戏的GIF动画来说明问题: GIF动画图片:old.gif 为了让问题更加清晰,我们先还原动画各帧: 选择一:用PHP中的Imagick模块: 复制代码 代码如下: <?php $image = new Imagick('old.gif'); $i = 0; foreach ($image as $frame) { $frame->writeImage('old_' . $i++ . '.gif'); } ?> 选择二:用ImageMagick提供的conver

随机推荐