1 <?php
 2 //图像等比例缩放函数
 3 /**
 4     *等比例缩放函数(以保存新图片的方式实现)
 5     *@param string $picname  被缩放的处理图片源
 6     *@param int $maxx 缩放后图片的最大宽度
 7     *@param int $maxy 缩放后图片的最大高度
 8     *@param string $pre 缩放后图片的前缀名
 9     *@return $string 返回后的图片名称() 如a.jpg->s.jpg
10     *
11 **/
12      function imageUpdatesize($picname,$maxx=100,$maxy=100,$pre="s_"){
13         $info=getimageSize($picname);//获取图片的基本信息
14         $w=$info[0];//获取宽度
15         $h=$info[1];//获取高度
16         //获取图片的类型并为此创建对应图片资源
17         switch($info[2]){
18             case 1://gif
19                   $im=imagecreatefromgif($picname);
20                   break;
21             case 2://jpg
22                   $im=imagecreatefromjpeg($picname);
23                   break;
24             case 3://png
25                  $im=imagecreatefrompng($picname);
26                   break;
27             default:
28                  die("图像类型错误");
29         }
30         //计算缩放比例
31         if(($maxx/$w)>($maxy/$h)){
32             $b=$maxy/$h;
33         }else{
34             $b=$maxx/$w;
35         }
36         //计算出缩放后的尺寸
37         $nw=floor($w*$b);
38         $nh=floor($h*$b);
39         //创建一个新的图像源(目标图像)
40         $nim=imagecreatetruecolor($nw,$nh);
41         //执行等比缩放
42         imagecopyresampled($nim,$im,0,0,0,0,$nw,$nh,$w,$h);
43         //输出图像(根据源图像的类型,输出为对应的类型)
44         $picinfo=pathinfo($picname);//解析源图像的名字和路径信息
45         $newpicname=$picinfo["dirname"]."/".$pre.$picinfo["basename"];
46         switch($info[2]){
47             case 1:
48                 imagegif($nim,$newpicname);
49                 break;
50             case 2:
51                 imagejpeg($nim,$newpicname);
52                 break;
53             case 3:
54                 imagepng($nim,$newpicname);
55                 break;
56
57         }
58         //释放图片资源
59         imagedestroy($im);
60         imagedestroy($nim);
61         //返回结果
62         return $newpicname;
63      }
64     // 测试成功
65      echo    imageUpdatesize("images/qie.jpg",150,150,ss_); // 返回的结果为 images/ss_qie.jpg
66 ?>

转载于:https://www.cnblogs.com/kangshuai/p/4883919.html

图像等比例缩放的函数封装(PHP)相关推荐

  1. python 图像等比例缩放

    图像等比例缩放 图像缩放 等比例缩放 pytorch下,对多维tensor进行缩放 图像缩放 目前比较常用的就是opencv-python底下的cv2.resize() cv2.resize(src, ...

  2. 基于opencv的图像等比例缩放

    项目中图片经常需要resize,但是直接调用resize方法可能会使图像造成畸变,下面给出,基于opencv的图像等比例缩放的方法. import cv2def resize_keep_aspectr ...

  3. Opencv 图像等比例缩放

    在神经网络训练过程中,会使用到大量的数据预处理操作.而缩放操作就是这里面最基础.例如Certernet中的缩放就是使用了等比例缩放,周围填充0的操作. 我们来分析下实现原理和实际效果 如上图所示,是将 ...

  4. js控制图像等比例缩放

    <!DOCTYPE html> <html> <head><title>图片内部放大效果</title> <meta charset= ...

  5. memcpy函数实现_等比例缩放c++ opencv 实现

    背景:在目标检测算法中, 输入图片等比例resize时mAP比直接resize会高几个点. 实现:使用c++ 和opencv实现(之所以没用python,是因为用于生产环境) 先贴代码: #inclu ...

  6. php怎么计算图片的大小,php 根据比例计算图片缩放尺寸函数的用法

    这篇文章主要为大家详细介绍了php 根据比例计算图片缩放尺寸函数的用法,具有一定的参考价值,可以用来参考一下. 面向512笔记编程,下面跟随512笔记的小编来举个例子吧. 经测试代码如下: /** * ...

  7. JavaScript,等比例缩放图片的函数,很好用。

    在Web上显示图片,通常都会有图片显示比例问题,如果不给<img />限制width和height,那么如果图片大了就会将整个页面挤乱,图片小了又会使图片失真.     我的需求如下:   ...

  8. php封装函数输出,php函数封装

    这是一些自定义封装的函数类,调用起来很方便,以后会有更多的封装函数更新! // 弹框跳转 function alert($msg,$url=''){ echo " echo "al ...

  9. 多边形轮廓等比例缩放

    多边形(轮廓点)等距离外扩 1.需要安装一个python包 安装 pyclipper python 的话,直接pip install pyclipper 地址:https://pypi.org/pro ...

  10. python 等比例缩放图片 自写

    Python等比例缩放图片 使用了 OpenCV 进行图片的读取 输入:利用 cv2.imread 函数读取的 Mat 矩阵 输出:缩放后的 Mat 矩阵(示例代码为缩放到 512x512 大小,也可 ...

最新文章

  1. 高斯旋转热源与双椭球热源_电力分公司:多措并举保证供暖质量效益双提升
  2. oracle 作业 断开原因,解惑 | Oracle JOB 异常中断原因分析
  3. 262K Color
  4. [原+转]CSS hack 小技巧 让你的CSS 兼容ff ie6.0 ie7.0
  5. c# oracle datasource,C# 连接Oracle 数据库 示例源码下载
  6. 开始使用C++11的9个理由
  7. Ubantu系统配置固定IP地址和Pycharm连接远程服务器
  8. kafka偏移量保存到mysql里_【队列】调试应用时进行的kafka偏移量调整
  9. 思科IOS新命名规范详细图解(IOS 12.3) 各版本区别
  10. python opencv 膨胀_OpenCV-Python:形态学操作
  11. Java的守护线程Daemon
  12. abaqus dat文件 matlab_基于MPCCI的FLUENT与ABAQUS流固耦合分析步骤
  13. Excel表结构模板生成MySql建表语句
  14. MTK-EngineeMode-Hardware Testing
  15. 安装 Vmware和创建虚拟机即密码破解
  16. Ice helloworld
  17. 株洲c语言培训机构,株洲好就业的学c语言程序设计,计算机专业地址
  18. 手撸SSO单点登录(五)登录验证-OA系统页面刷新或者跳转新OA系统页面
  19. 开源软件总体拥有成本指南
  20. 《牛客刷题》sql错题集

热门文章

  1. 设计模式--建造者模式(C++实现)
  2. CAS单点登陆,URL多出个参数jsessionid导致登陆失败问题
  3. java -jar命令
  4. c语言输入括号配对成功输出1,用数组实现括号配对检查,输出不正确,请大家指点解决办法...
  5. Struts2之国际化
  6. ASP和IIS各一点
  7. java多线程中的调度策略
  8. 《图解HTTP》阅读笔记--第六章--HTTP首部
  9. Asp.net Core 2.1新功能Generic Host(通用主机),了解一下
  10. webstorm 高效开发 (html)