PHP等比例生成缩略图
来源:互联网 发布:盐巴散弹枪 淘宝 编辑:程序博客网 时间:2024/05/16 23:35
/**
* 等比例生成缩略图
* @param $imgSrc
* @param $resize_width
* @param $resize_height
* @param $isCut
* @author james.ou 2011-11-1
*/
public
function
reSizeImg(
$imgSrc
,
$resize_width
,
$resize_height
,
$isCut
= false) {
//图片的类型
$type
=
substr
(
strrchr
(
$imgSrc
,
"."
), 1);
//初始化图象
if
(
$type
==
"jpg"
) {
$im
= imagecreatefromjpeg(
$imgSrc
);
}
if
(
$type
==
"gif"
) {
$im
= imagecreatefromgif(
$imgSrc
);
}
if
(
$type
==
"png"
) {
$im
= imagecreatefrompng(
$imgSrc
);
}
//目标图象地址
$full_length
=
strlen
(
$imgSrc
);
$type_length
=
strlen
(
$type
);
$name_length
=
$full_length
-
$type_length
;
$name
=
substr
(
$imgSrc
, 0,
$name_length
- 1);
$dstimg
=
$name
.
"_s."
.
$type
;
$width
= imagesx(
$im
);
$height
= imagesy(
$im
);
//生成图象
//改变后的图象的比例
$resize_ratio
= (
$resize_width
) / (
$resize_height
);
//实际图象的比例
$ratio
= (
$width
) / (
$height
);
if
((
$isCut
) == 1) {
//裁图
if
(
$ratio
>=
$resize_ratio
) {
//高度优先
$newimg
= imagecreatetruecolor(
$resize_width
,
$resize_height
);
imagecopyresampled(
$newimg
,
$im
, 0, 0, 0, 0,
$resize_width
,
$resize_height
, ((
$height
) *
$resize_ratio
),
$height
);
ImageJpeg(
$newimg
,
$dstimg
);
}
if
(
$ratio
<
$resize_ratio
) {
//宽度优先
$newimg
= imagecreatetruecolor(
$resize_width
,
$resize_height
);
imagecopyresampled(
$newimg
,
$im
, 0, 0, 0, 0,
$resize_width
,
$resize_height
,
$width
, ((
$width
) /
$resize_ratio
));
ImageJpeg(
$newimg
,
$dstimg
);
}
}
else
{
//不裁图
if
(
$ratio
>=
$resize_ratio
) {
$newimg
= imagecreatetruecolor(
$resize_width
, (
$resize_width
) /
$ratio
);
imagecopyresampled(
$newimg
,
$im
, 0, 0, 0, 0,
$resize_width
, (
$resize_width
) /
$ratio
,
$width
,
$height
);
ImageJpeg(
$newimg
,
$dstimg
);
}
if
(
$ratio
<
$resize_ratio
) {
$newimg
= imagecreatetruecolor((
$resize_height
) *
$ratio
,
$resize_height
);
imagecopyresampled(
$newimg
,
$im
, 0, 0, 0, 0, (
$resize_height
) *
$ratio
,
$resize_height
,
$width
,
$height
);
ImageJpeg(
$newimg
,
$dstimg
);
}
}
ImageDestroy(
$im
);
}
阅读全文
0 0
- php 等比例生成缩略图
- PHP等比例生成缩略图
- php 等比例缩略图
- php实现等比例生成图片缩略图不失真
- php原比例生成缩略图
- 用JavaScript自动生成等比例缩略图
- C#生成缩略图 等比例缩放
- C#生成缩略图 等比例缩放
- PHP缩略图生成,等比例,基于GD库,支持gif,jpeg,png
- [蛙蛙推荐]用JS自动生成等比例缩略图
- Asp.net 图片等比例生成缩略图,外带一个数学公式
- php上传图片和等比例缩略图图片的例子
- php实现上传图片和等比例缩略图压缩图片
- PHP自适应宽高度等比例缩略图函数 (无裁切)
- img制作等比例缩略图
- 图片等比例缩略图js
- 上传缩略图,等比例压缩
- 等比例缩略图不失真
- 写给前端入门者的chat
- JavaScript基础(4)—— typeof、instanceof操作符和constructor属性
- 配电箱与配电柜、控制箱的区别
- HDU
- [DP-LIS] HDU 1160
- PHP等比例生成缩略图
- unity中添加菜单栏
- 递推——错排公式
- LeetCode Valid Parentheses
- ubuntu 在opencv3.1基础上 安装3.2的版本,安装完成后。 。。编译代码出现的问题。
- MT7688双摄像头双电机驱动小车(2)整体方案
- Struts2 Xss 攻击预防的处理
- python 爬虫 豆瓣韩国电影
- 453. Minimum Moves to Equal Array Elements