阅读模式:

​php图片缩放

查看:1461  回复:0  类型:  来源:php自学网  标签 php

        php缩放图片,压缩图片处理。使用imagecopyresampled()函数重采样拷贝部分图像并调整大小,将一幅图像中的一块正方形区域拷贝到另一个图像中,平滑地插入像素值,因此,尤其是,减小了图像的大小而仍然保持了极大的清晰度。

相关函数:

创建图像:

imagecreatefromgif():创建一块画布,并从 GIF 文件或 URL 地址载入一副图像

imagecreatefromjpeg():创建一块画布,并从 JPEG 文件或 URL 地址载入一副图像

imagecreatefrompng():创建一块画布,并从 PNG 文件或 URL 地址载入一副图像

imagecreatefromwbmp():创建一块画布,并从 WBMP 文件或 URL 地址载入一副图像

imagecreatefromstring():创建一块画布,并从字符串中的图像流新建一副图像

输出图像:

imagegif():以 GIF 格式将图像输出到浏览器或文件

imagejpeg():以 JPEG 格式将图像输出到浏览器或文件

imagepng():以 PNG 格式将图像输出到浏览器或文件

imagewbmp():以 WBMP 格式将图像输出到浏览器或文件

代码:

<?php
// 这个文件

$filename = empty($_GET['name']) ? null : $_GET['name'];
if (empty($filename)) {
	exit('图片地址不能为空!');
}

$img_info = getimagesize($filename);

//缩放比例
$percent = empty($_GET['percent']) ? 1 : $_GET['percent'];

// 获取新的尺寸
$width = $img_info[0];
$height = $img_info[1];
$new_width = $width * $percent;
$new_height = $height * $percent;

// 内容类型
if ($img_info['mime'] == 'image/jpeg') {
	
	header('Content-Type: image/jpeg');
	
	// 重新取样
	$image_p = imagecreatetruecolor($new_width, $new_height);
	$image = imagecreatefromjpeg($filename);
	imagecopyresampled($image_p, $image, 0, 0, 0, 0, $new_width, $new_height, $width, $height);

	// 输出
	imagejpeg($image_p, null,100);
	
}

if ($img_info['mime'] == 'image/png') {
	
	header('Content-Type: image/png');
	
	// 重新取样
	$image_p = imagecreatetruecolor($new_width, $new_height);
	$image = imagecreatefrompng($filename);
	imagecopyresampled($image_p, $image, 0, 0, 0, 0, $new_width, $new_height, $width, $height);

	// 输出
	imagepng($image_p, null,100);
	
}

if ($img_info['mime'] == 'image/gif') {
	
	header('Content-Type: image/gif');
	
	// 重新取样
	$image_p = imagecreatetruecolor($new_width, $new_height);
	$image = imagecreatefromgif($filename);
	imagecopyresampled($image_p, $image, 0, 0, 0, 0, $new_width, $new_height, $width, $height);

	// 输出
	imagegif($image_p, null,100);
	
}

?>

浏览器访问并传图片地址和压缩比例。

分享到:
1 1

*有问题之处烦请在评论中指出非常感谢!
不是我想要的内容,继续搜索:

扫描二维码手机查看

发布评论:


登录:
  表情:
评论话题
推荐阅读:
php生成二维码   阅读:7436企业让你去面试,可能不是真的招人   阅读:6341栈和堆的区别   阅读:5515linux php7编译安装mongodb扩展   阅读:9573linux top命令详解   阅读:10215企业让你去面试,可能不是真的招人   阅读:6341javascript对cookie操作详细代码函数   阅读:5741把php session 会话保存到redis   阅读:7880TCP的三次握手(建立连接)和四次挥手(关闭连接)   阅读:4290mysql5.7主从同步中binlog同步模式详解   阅读:8303shell发送邮件脚本   阅读:9149nginx安装mysql和json模块   阅读:5990php冒泡排序法   阅读:15213html5 离线缓存的使用   阅读:4744把php session 会话保存到redis   阅读:7880把php session 会话保存到redis   阅读:7880TCP的三次握手(建立连接)和四次挥手(关闭连接)   阅读:4290web项目高并发量网站解决方案   阅读:5081php 获取当前前后年、月、星期、日、时分秒的时间   阅读:7311centos 7 忘记root密码   阅读:5353程序员找工作三要素(必看)   阅读:6103霍金24岁博士毕业论文在线预览   阅读:6113php 读取和设置redis的键值   阅读:7809linux php7安装yaf扩展   阅读:9148php生成二维码   阅读:7436linux top命令详解   阅读:10215php swoole搭建简单的聊天室   阅读:5016crontab+shell脚本实现定时备份mysql数据库   阅读:8252分享:淘宝技术这十年   阅读:5132php连接redis   阅读:6119给 centos 7 安装桌面环境   阅读:17507封装php redis缓存操作类   阅读:9807centos 7 安装 mysql-5.7   阅读:7760session与cookie的区别   阅读:4527简单的DOS攻击之死亡之ping详解   阅读:63534网站局部小图片优化-base64编码图片   阅读:20253php文件下载防盗链   阅读:10490centos7开启交换内存   阅读:11698centos7.3安装mongodb3.6   阅读:8203linux php7编译安装mongodb扩展   阅读:9573javascript获取两个日期间的所有日期   阅读:7327爱编程,也爱健康   阅读:4798php删除一个文件夹内的所有文件夹和文件   阅读:5376给 centos 7 安装桌面环境   阅读:17507php显示刚刚、几分钟前、几小时前、几天前的函数   阅读:9235小米手机端商城rem适配原理   阅读:7186比phpexcel还要简单的excel CSV 一键导入数据到数据库   阅读:5799简单的DOS攻击之死亡之ping详解   阅读:63534TCP的三次握手(建立连接)和四次挥手(关闭连接)   阅读:4290分享:淘宝技术这十年   阅读:5132