PHPThumb PHP 图片缩略图库


Posted in PHP onMarch 11, 2012

1、这是一个缩略图类库
它是一个开源的图片缩略图类库,可以完成多种复杂的图片缩略图生成和现实,使用起来非常的方便。

2、使用方法
这里有一篇关于其简单实用的说明,英文比较简单,就不翻译了:

Basic-Usage

3、API
这里有一个API列表:

PHPThumb API

不过非常可惜,API中并没有任何说明,只能对照其英文名称猜测其效果,当然即使猜对了,也要测试下看看是否是正确的。

4、样例
这里我也写了个简单调用它的方法,不过我是把该图片保存成为文件了,basic-usage中的例子全是直接在页面中输出的:

require_once 'phpthumb/ThumbLib.inc.php'; 
try { 
$thumb = PhpThumbFactory::create($realpath); 
} catch (Exception $e) { 
// handle error here however you'd like 
} 
$thumb->adaptiveResize($width, $height); 
$thumb->save($realpath . '.' . $width . 'x' . $height . '.png');

5、我用到的几个API
使用过程中,对几个API的理解逐渐加深,这里记录下:

resize ($maxWidth, $maxHeight)

resize方法是最常用的缩略图方法,它直接等比例将最大的边缩小到符合要求的高度/宽度,当图片宽高比与要求不一致时,将会有边显示空白。

adaptiveResize ($width, $height)

adaptiveResize方法是在一些特定情况下,不要求图片的完整,而要求显示特定宽高的最多内容。具体计算方式是:

当图片宽度大于所要求宽度,而高度一致时,取该高度下,从图片左右的中间去所要求的宽度;
当图片的高度大了并且宽度一致时,去该宽度下,图片上下居中位置取得所要求的高度;
当宽高都不正确时,先将图片缩放到所要求大小,再按前两条执行。
save ($fileName, $format = ‘GIF|JPG|PNG')

当对图片做好处理后,可以用save方法,将图片保存为format中所指示的编码之一,如果未指定编码,将以原编码方式保存。$fileName是要保存的路径。

PHP 相关文章推荐
php中通过虚代理实现延迟加载的实现代码
Jun 10 PHP
php array_pop()数组函数将数组最后一个单元弹出(出栈)
Jul 12 PHP
php empty() 检查一个变量是否为空
Nov 10 PHP
PHP详解ASCII码对照表与字符转换
Dec 05 PHP
三个类概括PHP的五种设计模式
Sep 05 PHP
php实现cc攻击防御和防止快速刷新页面示例
Feb 13 PHP
在openSUSE42.1下编译安装PHP7 的方法
Dec 24 PHP
php session实现多级目录存放实现代码
Feb 03 PHP
解析 thinkphp 框架中的部分方法
May 07 PHP
利用 fsockopen() 函数开放端口扫描器的实例
Aug 19 PHP
基于ThinkPHP5.0实现图片上传插件
Sep 25 PHP
PHP filter_var() 函数, 验证判断EMAIL,URL等
Mar 09 PHP
php中使用cookie来保存用户登录信息的实现代码
Mar 08 #PHP
PHP 代码规范小结
Mar 08 #PHP
色色整理的PHP面试题集锦
Mar 08 #PHP
PHP 在5.1.* 和5.2.*之间 PDO数据库操作中的不同之处小结
Mar 07 #PHP
php打造属于自己的MVC框架
Mar 07 #PHP
smarty巧妙处理iframe中内容页的代码
Mar 07 #PHP
php 操作符与控制结构
Mar 07 #PHP
You might like
《Re:从零开始的异世界生活 冰结之绊》
2020/04/09 日漫
Yii2框架实现数据库常用操作总结
2017/02/08 PHP
解决Laravel自定义类引入和命名空间的问题
2019/10/15 PHP
jQuery ajax在GBK编码下表单提交终极解决方案(非二次编码方法)
2010/10/20 Javascript
JQuery实现倒计时按钮的实现代码
2012/03/23 Javascript
一个基于jquery的文本框记数器
2012/09/19 Javascript
jquery写个checkbox——类似邮箱全选功能
2013/03/19 Javascript
Jquery封装tab自动切换效果的具体实现
2013/07/13 Javascript
关闭浏览器时提示onbeforeunload事件
2013/12/25 Javascript
跟我学习javascript的函数和函数表达式
2015/11/16 Javascript
js立即执行函数: (function ( ){})( ) 与 (function ( ){}( )) 有什么区别?
2015/11/18 Javascript
JS+HTML5手机开发之滚动和惯性缓动实现方法分析
2016/06/12 Javascript
Bootstrap组件系列之福利篇几款好用的组件(推荐二)
2016/07/12 Javascript
jQuery zTree树插件简单使用教程
2017/01/10 Javascript
Vue自定义图片懒加载指令v-lazyload详解
2020/12/31 Javascript
react中fetch之cors跨域请求的实现方法
2018/03/14 Javascript
vscode配置vue下的es6规范自动格式化详解
2019/03/20 Javascript
js图片查看器插件用法示例
2019/06/22 Javascript
解决vue初始化项目时,一直卡在Project description上的问题
2019/10/31 Javascript
解决vue单页面多个组件嵌套监听浏览器窗口变化问题
2020/07/30 Javascript
如何手动实现一个 JavaScript 模块执行器
2020/10/16 Javascript
[10:54]Team Spirit vs Navi
2018/06/07 DOTA
python基础教程之udp端口扫描
2014/02/10 Python
Python中的choice()方法使用详解
2015/05/15 Python
Python常见格式化字符串方法小结【百分号与format方法】
2016/09/18 Python
用TensorFlow实现戴明回归算法的示例
2018/05/02 Python
可能是最全面的 Python 字符串拼接总结【收藏】
2018/07/09 Python
python tkinter GUI绘制,以及点击更新显示图片代码
2020/03/14 Python
python opencv 实现读取、显示、写入图像的方法
2020/06/08 Python
html5 桌面提醒:Notifycations应用介绍
2012/11/27 HTML / CSS
详解HTML5中CSS外观属性
2020/09/10 HTML / CSS
民事上诉状范文
2015/05/22 职场文书
《黄道婆》教学反思
2016/02/22 职场文书
2016年安全生产先进个人事迹材料
2016/02/29 职场文书
Python中json.dumps()函数的使用解析
2021/05/17 Python
一文了解Java动态代理的原理及实现
2022/07/07 Java/Android