php中将一张图片缩略成200×200的新图片
来源:互联网 发布:怎么查看网页源码 编辑:程序博客网 时间:2024/06/08 00:45
<?php
header("content-type:text/html;charset=utf-8");
header("content-type:image/png");
//定义目标图片的宽高
$dst_w = 200;
$dst_h = 200;
$image="img/100-100.png";
//获取这张图片的基本信息(宽、高、类型),获取到的信息存放在$data里,$data[0]:宽,$data[1]:高,$data["mime"]:图片的类型
$data = getimagesize($image);
//var_dump($data);
$outType = 'imagepng';//原理同上
break;
case "image/jpg":
case "image/jpeg"://当图图片的类型为jpg或者jpeg的时候,都是使用imagecreatefromjpeg()来创建的
$srcType = 'imagecreatefromjpeg';
$outType = 'imagejpeg';
break;
case "image/gif":
$srcType = 'imagecreatefromgif';
$outType = 'imagegif';
break;
}
$src_w=$data[0];
$src_h=$data[1];
//求出原图和目的图片的宽度的比例
$bili_w = $src_w/$dst_w;
$true_h = $src_h;
$dst_im = imagecreatetruecolor($true_w, $true_h);
}elseif($bili_w >= $bili_h){//如果宽度的比例大于等于高度的比例,那么就按照宽度的比例来进行缩放,比如我传进的图片是一张800×600的,我要缩放成200×200的,那么就需要将800×600的图缩放成200×150的,即是创建的目的图片的宽高为200×150.
$true_w = $src_w/$bili_w;
$true_h = $src_h/$bili_w;
$dst_im = imagecreatetruecolor($true_w, $true_h);
}else{//如果高度的比例大于宽度的比例,那么就按照高度的比例来进行缩放,比如我传进的图片是一张600×800的,我要缩放成200×200的,那么就需要将600×800的图缩放成150×200的,即是创建的目的图片的宽高为150×200.
$true_w = $src_w/$bili_h;
$true_h = $src_h/$bili_h;
$dst_im = imagecreatetruecolor($true_w, $true_h);
}
imagecopyresized($dst_im, $src_image, 0, 0, 0, 0, $true_w, $true_h, $src_w, $src_h);
$outType($dst_im);
?>
header("content-type:text/html;charset=utf-8");
header("content-type:image/png");
//定义目标图片的宽高
$dst_w = 200;
$dst_h = 200;
$image="img/100-100.png";
//获取这张图片的基本信息(宽、高、类型),获取到的信息存放在$data里,$data[0]:宽,$data[1]:高,$data["mime"]:图片的类型
$data = getimagesize($image);
//var_dump($data);
//判断传进的图片是什么类型的
switch ($data['mime']){
case "image/png":
$srcType = 'imagecreatefrompng';//将imagecreatefrompng作为变量赋值给$srcType,后面通过$srcType()来调用,就相当于使用函数imagecreatefrompng(),这是变量函数的一种应用。
$outType = 'imagepng';//原理同上
break;
case "image/jpg":
case "image/jpeg"://当图图片的类型为jpg或者jpeg的时候,都是使用imagecreatefromjpeg()来创建的
$srcType = 'imagecreatefromjpeg';
$outType = 'imagejpeg';
break;
case "image/gif":
$srcType = 'imagecreatefromgif';
$outType = 'imagegif';
break;
}
//从传进来的图片创建一张图片
$src_image=$srcType($image);
//获取原图片的宽高$src_w=$data[0];
$src_h=$data[1];
//求出原图和目的图片的宽度的比例
$bili_w = $src_w/$dst_w;
//求出求出原图和目的图片的高度的比例
$bili_h = $src_h/$dst_h;
//如果原图的宽度和高度小于等于目标图片的时候,那么无需进行缩放(避免小图片的拉伸),直接将创建的新的图片的宽高设置成原图的宽高
if($src_w <= $dst_w && $src_h <= $dst_h){
$true_w = $src_w;$true_h = $src_h;
$dst_im = imagecreatetruecolor($true_w, $true_h);
}elseif($bili_w >= $bili_h){//如果宽度的比例大于等于高度的比例,那么就按照宽度的比例来进行缩放,比如我传进的图片是一张800×600的,我要缩放成200×200的,那么就需要将800×600的图缩放成200×150的,即是创建的目的图片的宽高为200×150.
$true_w = $src_w/$bili_w;
$true_h = $src_h/$bili_w;
$dst_im = imagecreatetruecolor($true_w, $true_h);
}else{//如果高度的比例大于宽度的比例,那么就按照高度的比例来进行缩放,比如我传进的图片是一张600×800的,我要缩放成200×200的,那么就需要将600×800的图缩放成150×200的,即是创建的目的图片的宽高为150×200.
$true_w = $src_w/$bili_h;
$true_h = $src_h/$bili_h;
$dst_im = imagecreatetruecolor($true_w, $true_h);
}
imagecopyresized($dst_im, $src_image, 0, 0, 0, 0, $true_w, $true_h, $src_w, $src_h);
$outType($dst_im);
?>
阅读全文
0 0
- php中将一张图片缩略成200×200的新图片
- PHP缩略图片
- 缩略图片
- 图片缩略
- 缩略图片
- 图片缩略
- Qt中将一张图片剪裁成圆形图显示
- 做一个缩略图片(php)
- PHP图片类(验证码,水印,缩略)
- 用PHP忙了一晚上写的图片缩略和图片等比缩放函数
- android中将两张图片合并为一张图片
- android中将两张图片合并为一张图片 .
- android中将两张图片合并为一张图片
- php多张图片拼接成一张图片
- 各式各样的图片缩略水印静态类
- js 缩略正文图片
- 图片批量缩略处理软件
- Java生成缩略图片
- thymeleaf使用详解(1)
- 6个实例详解如何把if-else代码重构成高质量代码
- 边缘检测滤波器
- x86常用寄存器
- 设置mac自带的vim环境 语法高亮
- php中将一张图片缩略成200×200的新图片
- LeetCode-31-Next Permutation 贪心,排序
- [C++::STL]之vector的用法
- 120. Triangle
- 初识Spring(一)
- 【模板】Dinic求网络最大流
- idea 出现Could not autowire. No beans of 'xxxxMapper' type found. 安装 Mybatis Plugin 插件
- 程序9
- 数组详解