class My_Lib_Functions {

# ********************************************

# 对象转数组

# ********************************************

function object2array ($obj) {

foreach ($obj as $k => $v) {

$arr[$k] = $v;

unset($v);

}

return $arr;

}

// ********************************************

// 获取限定区间内的图片宽高

//$mx :图像在页面上显示的宽度

//$my :图像在页面上显示的高度

//此处缩略图按比例缩放的原理为x/y = $mx / $my;

// **********************************************

function getPicXY($picurl, $mx = 0, $my = 0){

if (!$size = @GetImageSize($picurl)) return false;  //GetImageSize用来测定任何图象大小并返回图象的尺寸以及文件类型和一个用于普通HTML文件中标记中的height/width文本字符串

if ($mx == 0 && $my == 0) return $size;     //当$mx与$my参数的值为零时,返回图象的大小

if ($mx * $size[1] / $size[0] > $my){     //判断当$mx乘以图象本身的高度再除以图象的宽度大于在页面上显示的图象宽度时

$newXY[0] = $my * $size[0] / $size[1];    //设置产生新图像的宽度为$mx的值乘以图象本身的宽度再除以图象本身的高度

$newXY[1] = $my;         //设置产生的新图像的高度为页面图象显示的高度

}else{             //判断当$mx乘以图象本身的高度再除以图象的宽度不大于在页面上显示的图象宽度时

$newXY[0] = $mx;         //设置产生的新图像的宽度为页面图象显示的宽度

$newXY[1] = $mx * $size[1] / $size[0];    //设置产生新图像的宽度为$mx的值乘以图象本身的高度再除以图象本身的宽度

}

if ($size[0] <= $my and $size[1] <= $mx){    //判断当图像本身的宽度小于等于页面上显示图像的宽度且图像本身的高度小于等于页面上显示图像的高度

$newXY[0] = $size[0];        //设置图像新产生的宽度为图像本身的宽度

$newXY[1] = $size[1];        //设置图像新年产的高度为图像本身的高度

}

return $newXY;           //返回图像的新比例

}

function getNewImageWH2 ($imageUrl, $maxWidth = 0, $maxHeight = 0, &$newWidth = 0, &$newHeight = 0){

if (!$imageSize = @GetImageSize($imageUrl)) return false;

if ($maxWidth == 0 || $maxHeight == 0) {

$newWidth  = $imageSize[0];

$newHeight = $imageSize[1];

} else {

$newWidth  = $maxWidth;

$newHeight = $newWidth * $imageSize[1] / $imageSize[0];

if ($newHeight < $maxHeight) {

$newHeight  = $maxHeight;

$newWidth = $newHeight * $imageSize[0] / $imageSize[1];

}

$imageSize[0] = $newWidth;

$imageSize[1] = $newHeight;

}

return $imageSize;

}

}

?>

php按比例截图,php 按比例生成小图函数相关推荐

  1. R语言构建logistic回归模型并评估模型:构建基于混淆矩阵计算分类评估指标的自定义函数、阳性样本比例(垃圾邮件比例)变化对应的分类器性能的变化、基于数据阳性样本比例选择合适的分类评估指标

    R语言构建logistic回归模型并评估模型:构建基于混淆矩阵计算分类评估指标的自定义函数.阳性样本比例(垃圾邮件比例)变化对应的分类器性能的变化.基于数据阳性样本比例选择合适的分类评估指标 目录

  2. 比例阀为什么需要比例阀放大器

    有网友问比例阀为什么需要比例阀放大器,要解决这个问题首先我们要了解比例阀的原理和结构. 各种液压阀的操纵.控制都是通过力(力矩)或位移(角位移)形式的机械量来实现的,其可以通过手动.气动.机动.液动. ...

  3. 4米乘以12米CAD图_CAD绘图比例、出图比例、打印比例讲解!!!

    哈喽- 本来要介绍一下CAD小技能,但考虑到刚接触CAD的同学,所以很有必要说明一下CAD的绘图比例,出图比例,打印比例,这是CAD绘图最基本也是最重要的,同时也是很多人没有掌握的,这三个比例没有掌握 ...

  4. python字典统计男女比例_python统计男女比例-女性时尚流行美容健康娱乐mv-ida网...

    女性时尚流行美容健康娱乐mv-ida网 mvida时尚娱乐网 首页 美容 护肤 化妆技巧 发型 服饰 健康 情感 美体 美食 娱乐 明星八卦 首页  > 高级搜索 python 实现代码行数 统 ...

  5. 融资融券基础005:保证金比例与维持担保比例(转)

    (转载自网络上,自称大众理财,稍有修改) 两大比例细品味 融资融券保证金比例与维持担保比例非常重要,是投资者灵活操作的关键. 保证金比例50%: 沪深交易所规定,融资保证金比例和融券保证金比例均不得低 ...

  6. 高清方法生成缩略图函数

    1 /// <summary> 2 /// 生成缩略图函数 3 /// </summary> 4 /// <param name="width"> ...

  7. Effective C++ 之 Item 6 : 若不想使用编译器自动生成的函数,就该明确拒绝

    Effective C++ chapter 2. 构造 / 析构 / 赋值运算 (Constructors, Destructors, and Assignment Operators) Item 6 ...

  8. 【转】利用matlab生成随机数函数

    原文地址:利用matlab生成随机数函数 rand(n):生成0到1之间的n阶随机数方阵 rand(m,n):生成0到1之间的m×n的随机数矩阵 (现成的函数) betarnd:贝塔分布的随机数生成器 ...

  9. C++若不想使用编译器自动生成的函数,就该明确拒绝

    C++若不想使用编译器自动生成的函数,就该明确拒绝 为什么要拒绝? 将copy构造函数或copy assignment操作符声明为private,并且不定义 使用delete(C++11 ) 为什么要 ...

最新文章

  1. tar常见文件解压法
  2. HashMap底层实现原理,红黑树,B+树,B树的结构原理,volatile关键字,CAS(比较与交换)实现原理
  3. 微信小程序 基础1【本页面窗口配置、组件、布局】
  4. msp430流水灯c语言程序,超详细msp430示例程序汇编.doc
  5. Angular之ngx-permissions安装入门
  6. 一个websocket 可以多个页面创建吗_实战分享|给我一个Puppeteer,没有爬不了的网站
  7. 6099元!华为Mate 40 Pro 4G版开放现货
  8. 自定义拦截器,拦截到了某个请求就返回给前端一个JSON串
  9. 子序列问题sequence(【CCF】NOI Online能力测试2 提高组第二题 )
  10. java 协议开发_用Java的NIO开发网络协议
  11. CGCS2000大地坐标系、北斗坐标系(BDCS)与WGS84坐标系的差异
  12. python基础:re模块匹配时贪婪和非贪婪模式
  13. postman使用记录,带cookie的get请求和传json对象的post请求示范
  14. Gradle里配置jetty实现静态资源的热部署
  15. 谁说财务软件不能上纯公有云?
  16. 05Oracle P6培训系列:05创建项目
  17. Win10如何ping端口是否开放
  18. 星星之火OIer:C++大纲
  19. Java 实现多继承
  20. XMind ,有道云笔记, Effie ,谁会为公众号主减轻压力?

热门文章

  1. python读取txt文件并画图
  2. python生成固定形状的词云图
  3. 强化学习之贝尔曼方程中文解释
  4. 语音识别可以直接编码吗
  5. 深入理解SpringCloud之配置刷新
  6. Struts2入门这一篇就够了
  7. 面包好吃却五毒俱全,吃前请三思!
  8. Ways to 优化JAVA程序设计和编码,提高JAVA性能
  9. 【翻译】在Sencha应用程序中使用插件和混入
  10. Windows server下部署php环境