阅读模式:

​php图片缩放

查看:1126  回复: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连接redis   阅读:5786php打印三角形   阅读:10476javascript对cookie操作详细代码函数   阅读:5425php冒泡排序法   阅读:14627centos7开启交换内存   阅读:11150centos 7搭建zabbix3.4   阅读:6693php打印九九加法表   阅读:10744php 统计网页打开耗时和脚本运行内存   阅读:6941程序员找工作三要素(必看)   阅读:5783给php7安装redis扩展库   阅读:8402十张GIF让你弄懂递归等概念   阅读:6226php打印三角形   阅读:10476关于PHP程序员技术职业生涯规划   阅读:3022分享:淘宝技术这十年   阅读:4807mysql5.7主从同步中binlog同步模式详解   阅读:7637用php从1加到100的值   阅读:8887最新centos7 搭建LNMP环境(centos7.2+php7+mysql5.7+nginx1.11+redis3.2)   阅读:11152centos 7.2 添加php7 的 php-fpm 开机启动   阅读:24939爱编程,也爱健康   阅读:4457php翻转字符串   阅读:3691用php从1乘到100的值   阅读:6440面试都会问你为什么你从上一家公司离职的真实意思   阅读:11313centos 7 安装 mysql-5.7   阅读:7285霍金24岁博士毕业论文在线预览   阅读:5765栈和堆的区别   阅读:5148centos 7 安装 redis 3.2.9   阅读:6751centos 7 安装 php-7.1.3   阅读:20507nginx安装mysql和json模块   阅读:5279面试都会问你为什么你从上一家公司离职的真实意思   阅读:11313人性漫画:打工与创业的残酷区别   阅读:5007php压缩页面的html代码一行显示   阅读:7672小米手机端商城rem适配原理   阅读:6847php 使用 smtp.php 类在线发送邮件功能   阅读:5891centos 7 忘记root密码   阅读:4963最简单的Banner轮播左右切换效果代码及实现思路(附带源码)   阅读:32269知乎百万赞作者告诉你:年薪百万的人都在靠什么赚钱   阅读:6701shell发送邮件脚本   阅读:8370把php session 会话保存到redis   阅读:7409给网站添加一键qq登录的功能   阅读:7675javascript获取两个日期间的所有日期   阅读:6842mysql的四种索引类型   阅读:22998html5 离线缓存的使用   阅读:4463phpexcel 超简单从数据库一键导出数据到excel教程   阅读:7443Nginx 配置文件详解   阅读:4948网站局部小图片优化-base64编码图片   阅读:14743霍金24岁博士毕业论文在线预览   阅读:5765mysql5.7主从同步中binlog同步模式详解   阅读:7637centos7.3安装mongodb3.6   阅读:7715nginx安装redis模块   阅读:5942面试的时候和你谈理想,是理想or入坑?   阅读:10778