图像等比例缩放的函数封装(PHP)
- <?php
- //图像等比例缩放函数
- /**
- *等比例缩放函数(以保存新图片的方式实现)
- *@param string $picname 被缩放的处理图片源
- *@param int $maxx 缩放后图片的最大宽度
- *@param int $maxy 缩放后图片的最大高度
- *@param string $pre 缩放后图片的前缀名
- *@return $string 返回后的图片名称() 如a.jpg->s.jpg
- *
- **/
- function imageUpdatesize($picname,$maxx=100,$maxy=100,$pre="s_"){
- $info=getimageSize($picname);//获取图片的基本信息
- $w=$info[0];//获取宽度
- $h=$info[1];//获取高度
- //获取图片的类型并为此创建对应图片资源
- switch($info[2]){
- case 1://gif
- $im=imagecreatefromgif($picname);
- break;
- case 2://jpg
- $im=imagecreatefromjpeg($picname);
- break;
- case 3://png
- $im=imagecreatefrompng($picname);
- break;
- default:
- die("图像类型错误");
- }
- //计算缩放比例
- if(($maxx/$w)>($maxy/$h)){
- $b=$maxy/$h;
- }else{
- $b=$maxx/$w;
- }
- //计算出缩放后的尺寸
- $nw=floor($w*$b);
- $nh=floor($h*$b);
- //创建一个新的图像源(目标图像)
- $nim=imagecreatetruecolor($nw,$nh);
- //执行等比缩放
- imagecopyresampled($nim,$im,0,0,0,0,$nw,$nh,$w,$h);
- //输出图像(根据源图像的类型,输出为对应的类型)
- $picinfo=pathinfo($picname);//解析源图像的名字和路径信息
- $newpicname=$picinfo["dirname"]."/".$pre.$picinfo["basename"];
- switch($info[2]){
- case 1:
- imagegif($nim,$newpicname);
- break;
- case 2:
- imagejpeg($nim,$newpicname);
- break;
- case 3:
- imagepng($nim,$newpicname);
- break;
- }
- //释放图片资源
- imagedestroy($im);
- imagedestroy($nim);
- //返回结果
- return $newpicname;
- }
- // 测试成功
- echo imageUpdatesize("images/qie.jpg",150,150,ss_); // 返回的结果为 images/ss_qie.jpg
- ?>
图像等比例缩放的函数封装(PHP)的更多相关文章
- PHP.18-图片等比例缩放
图片等比例缩放 自定义函数ImageUpdateSize($pricname, $maxx, $maxy, $pre) 1.$pricname:被缩放的图片源(路径):2.$maxx,$maxy:缩放 ...
- php 常见图片处理函数封装
<?php /** * 常见图像处理函数的封装 */ class Image{ private $info=[]; private $width;//原始图片宽度 private $height ...
- php函数封装
这是一些自定义封装的函数类,调用起来很方便,以后会有更多的封装函数更新! // 弹框跳转function alert($msg,$url=''){ echo "<script>& ...
- WinForm版图像编辑小程序(实现图像拖动、缩放、旋转、抠图)
闲暇之余,开发一个图片编辑小程序.程序主要特点就是可方便的对多个图像编辑,实现了一些基本的操作.本文主要介绍一下程序的功能.设计思路. 执行程序 下载地址: 百度网盘.https://pan.baid ...
- 理解CSS3中的background-size(对响应性图片等比例缩放)
理解CSS3中的background-size(对响应性图片等比例缩放) 阅读目录 background-size的基本属性 给图片设置固定的宽度和高度的 固定宽度400px和高度200px-使用ba ...
- php图片等比例缩放
新建文件index.php,需要在统计目录下有个图片为q.jpg(可根据源码进行更改图片的名称) 源代码如下: <?php$filename="q.jpg"; $per=0. ...
- CSS3中的background-size(对响应性图片等比例缩放)
background-size的基本属性 background-size: 可以设定背景图像的尺寸,该属性是css3中的,在移动端使用的地方很多,比如最常见的地方在做响应性布局的时候,比如之前做的项目 ...
- PHP按最大宽高等比例缩放图片类
本来用phpthumb来缩略图片是十分方便的,但是最近在sae上写项目发现phpthumb在sae上保存文件时会出问题,想来实现一个简单的按最大宽高等比例缩放图片类也并不困难,于是便自己写了一个方便修 ...
- opencv 图像仿射变换 计算仿射变换后对应特征点的新坐标 图像旋转、缩放、平移
常常需要最图像进行仿射变换,仿射变换后,我们可能需要将原来图像中的特征点坐标进行重新计算,获得原来图像中例如眼睛瞳孔坐标的新的位置,用于在新得到图像中继续利用瞳孔位置坐标. 仿射变换在:http:// ...
随机推荐
- Fluent Nhibernate Mapping for Sql Views
Views are mapped the same way tables are mapped except that you should put Readonly() in the mapping ...
- ScrollView 设置滚动是否可用
extends:http://stackoverflow.com/questions/5763304/disable-scrollview-programmatically , http://stac ...
- gradle下的第一个SpringMVC应用
新建gradle project 缺少了很多文件夹和文件,我们自己补充,补充完的目录如下: HelloController: package controller; import javax.serv ...
- Mssql备份失败
Mssql备份失败出现如下提示 备份时先删除默认的备份设备,自己选择路径
- java 常见几种发送http请求案例
import java.io.FileOutputStream; import java.io.IOException; import java.io.InputStream; import java ...
- Page Control
- redis cluster 集群畅谈(二)
上一篇http://www.cnblogs.com/qinyujie/p/9029482.html, 主要讲解 redis cluster 集群 搭建,本篇主要讲解实验多master写入.读写分离.实 ...
- Unknown Treasure---hdu5446(卢卡斯+中国剩余定理)
题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=5446 C(n, m) % (p1*p2*p3*...*pk)的值 其实这个就是中国剩余定理最后算出结果 ...
- 数据库SQL优化大总结之百万级数据库优化方案(转)
add by zhj: 作者没有指定是哪个数据库,这只是一个近似通用的总结.对于某个特定的数据库,有些条目可能并不适用. 原文:http://www.cnblogs.com/yunfeifei/p/3 ...
- linux IO多路复用POLL机制深入分析
POLL机制的作用这里就不进行介绍,根据linux man手册,解释为在一个文件描述符上等待某个事件.按照抽象一点的理解,当某个事件被触发(条件被满足),文件描述符变为有状态,那么用户空间可以根据此进 ...