文档章节

php中图片的缩放比例

 唠臭臭
发布于 2015/10/10 11:49
字数 424
阅读 59
收藏 0
点赞 0
评论 0
 在图片保存中,我们不必在ps或其他工具来修改图片,我们也可以用代码来实现。下面举两例子,效果相同:
<?php 
$sourcefile="images/1.jpg";//旧图路径
$dstfile="images/1_small.jpg";//新图路径
$arr=getimagesize($sourcefile);//获取图片缩放比例,这样我们不必再在目录下去查找图片属性的宽高了。
//$src_width="144";
$src_height="200";也可自定义缩放比例但过大图片会失真
$scle=0.5;//比例系数
$dst_width=ceil($arr[0]*$scle);
$dst_width=ceil($arr[1]*$sclie);//新图宽高
$dst_img=imagecreatetruecolor($dst_width,$dst_height);//载入新图
$src_img=imagecreatefromjpeg($sourcefile);//载入旧图
imagecopyresampled($dst_img,$src_img,0,0,0,0$dst_width,$dst_height,$src_width,$src_height);//输出图像
imagejpeg($dst_img,$dstfile);//新图,路径
imagedestroy($dst_img);
imagedestroy($src_img);//销毁图片
?>

下面是类的例子效果相同:

  <?php
class Zoom{
 private $srcImg;//原图地址
 private $scle;//缩放系数
 public function __construct($a $b){
  $this->srcImg=$a;
  $this->scle=$b;
  list($src_w $src_h)=getimagesize($this->srcImg);
  $dst_w=ceil($src_w*$this->scle);
  $dst_h=ceil($src_h*$this->scle);
  $arr=explode("."$this->srcImg);
  $ext=end($arr);
  if($ext=="jpg"){
   $src_img=imagecreatefromjpeg($this->srcImg);
  }else if($ext=="gif"){
   $src_img=imagecreatefromgif($this->srcImg);
  }else if($ext=="png"){
   $src_img=imagecreatefrompng($this->srcImg);
  }else{
   echo "请选择jpg、png、gif图片格式";
   exit;
  }
  $dstImg=$arr[0].$this->scle."_small".".".$ext;
  $dst_img=imagecreatetruecolor($dst_w$dst_h);
  imagecopyresampled($dst_img$src_img0000$dst_w$dst_h$src_w$src_h);
  if($ext=="jpg"){
   imagejpeg($dst_img$dstImg);
  }else if($ext=="gif"){
   imagegif($dst_img$dstImg);
  }else if($ext=="png"){
   imagepng($dst_img$dstImg);
  }
  imagedestroy($src_img);
  imagedestroy($dst_img);
 }
}
$image="imgs/a.jpg";
$b=1;
$i=new Zoom($image$b);
?>

 

© 著作权归作者所有

共有 人打赏支持
粉丝 0
博文 1
码字总数 424
作品 0
海淀
PHP图片缩放函数:实现等比例不失真缩放

function resizeImage($im,$maxwidth,$maxheight,$name,$filetype){ } 参数说明: $im 图片对象,应用函数之前,你需要用imagecreatefromjpeg()读取图片对象,如果PHP环境支持PNG,GIF,也可...

微wx笑
2015/01/30
0
0
php生成图片缩略图类(支持常用图片格式)

功能:支持jpg,jpeg,gif,png,bmp图片格式,支持按原图片的比例进行缩放,可以选择在图片缩放的过程中是否需要对图片进行裁切,加入了图片质量控制,可以实现缩略图片质量最高化。完整类的代码...

Junn
2013/09/06
0
3
php 图片缩放 哪里有问题

ysll
2014/10/26
89
1
android 比较靠谱的图片压缩

第一:我们先看下质量压缩方法: Java代码 private Bitmap compressImage(Bitmap image) { ByteArrayOutputStream baos = new ByteArrayOutputStream(); image.compress(Bitmap.CompressFor......

Airship
2015/01/18
0
0
疯狂ios讲义之实例:通过捏合手势缩放图片

实例:通过捏合手势缩放图片 捏合手势处理器可以检测到用户手势捏合的比例,解析该捏合比例即可对图片进行缩放。本实例将通过捏合手势对图片进行缩放。创建一个Single View Application,该应...

博文视点
2014/03/28
11.8K
1
图片自动缩放--autoCropImage

将图片自动缩放成指定大小,减少图片体积,从而加快下载速度,降低下载时间和成本。 使用说明 URI 模式 http://localhost/images/pic.jpg_50x100.jpg http://localhost/images/pic.jpg_50x10...

MingfunWong
2014/02/27
1K
0
android中ImageView的ScaleType属性

  ScaleType的值分别代表的意义: ImageView是Android中的基础图片显示控件,该控件有个重要的属性是ScaleType,该属性用以表示显示图片的方式,共有8种取值   ScaleType.CENTER::图片...

z.net
2012/11/05
0
1
php实现等比例不失真缩放上传图片(转)

有时上传图片时因为图片太大了,不仅占用空间,消耗流量,而且影响浏(图片的尺寸大小不一)。下面分享一种等比例不失真缩放图片的方法,这样,不管上传的图片尺有多大,都会自动压缩到我们设...

oneboi
2016/08/31
65
0
android图片压缩的3种方法实例

android图片压缩的3种方法实例 发布:shangke 字体:[增加 减小] 类型:转载 这篇文章介绍了android图片压缩的3种方法实例,有需要的朋友可以参考一下 android 图片压缩方法:第一:质量压缩...

wanyang
2014/02/20
0
0
iOS开发——UIImageView的contentMode、裁剪和layer属性详解

在我们iOS开发过程中,UIImageView是一个非常常见的控件,但是我们未必会用的很溜,因为里面的有些属性不曾注意,或者很难理解。所以会对我们使用该控件带来麻烦,在布局UI过程中可能会造成意...

CHENYUFENG1991
2016/07/03
0
0

没有更多内容

加载失败,请刷新页面

加载更多

下一页

spring boot中swagger2使用

1.pom.xml中添加 <dependency> <groupId>io.springfox</groupId> <artifactId>springfox-swagger2</artifactId> <version>2.9.2</version>......

说回答
6分钟前
0
0
tomcat虚拟路径的几种配置方法

tomcat虚拟路径的几种配置方法 一般我们都是直接引用webapps下面的web项目,如果我们要部署一个在其它地方的WEB项目,这就要在TOMCAT中设置虚拟路径了,Tomcat的加载web顺序是先加载 $Tomcat_ho...

Helios51
18分钟前
1
0
Mac 安装jupyter notebook的过程

MAC台式机 python:mac下自带Python 2.7.10 1.先升级了pip安装工具:sudo python -m pip install --upgrade --force pip 2.安装setuptools 工具:sudo pip install setuptools==33.1.1 3.安装......

火力全開
23分钟前
0
0
导航守卫解释与例子

“导航”表示路由正在发生改变。 正如其名,vue-router 提供的导航守卫主要用来通过跳转或取消的方式守卫导航。有多种机会植入路由导航过程中:全局的, 单个路由独享的, 或者组件级的。 记住...

tianyawhl
23分钟前
0
0
Java日志框架-logback配置文件多环境日志配置(开发、测试、生产)(原始解决方法)

说明:这种方式应该算是最通用的,原理是通过判断标签实现。 <!-- if-then form --> <if condition="some conditional expression"> <then> ... </then> </if> ......

浮躁的码农
38分钟前
1
0
FTP传输时的两种登录方式和区别

登录方式 匿名登录 用户名为: anonymous。 密码为:任何合法 email 地址。 授权登录 用户名为:用户在远程系统中的用户帐号。 密码为:用户在远程系统中的用户密码。 区别 匿名登录 只能访问...

寰宇01
39分钟前
0
0
plsql developer 配置监听(不安装oracle客户端)

plsql developer 配置监听(不安装oracle客户端)

微小宝
46分钟前
1
0
数据库(分库分表)中间件对比

本人的宗旨就是,能copy的,绝对不手写。 分区:对业务透明,分区只不过把存放数据的文件分成了许多小块,例如mysql中的一张表对应三个文件.MYD,MYI,frm。 根据一定的规则把数据文件(MYD)和索...

奔跑吧代码
50分钟前
2
0
Netty与Reactor模式详解

在学习Reactor模式之前,我们需要对“I/O的四种模型”以及“什么是I/O多路复用”进行简单的介绍,因为Reactor是一个使用了同步非阻塞的I/O多路复用机制的模式。 I/O的四种模型 I/0 操作 主要...

hutaishi
56分钟前
1
0
【2018.07.16学习笔记】【linux高级知识 20.16-20.19】

20.16/20.17 shell中的函数 20.18 shell中的数组 20.19 告警系统需求分析

lgsxp
今天
0
0

没有更多内容

加载失败,请刷新页面

加载更多

下一页

返回顶部
顶部