阅读模式:

​php图片缩放

查看:692  回复: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 swoole搭建简单的聊天室   阅读:3441centos 7 修改系统屏幕分辨率   阅读:43070shell脚本破解十位数内的所有纯数字rar加密压缩包脚本   阅读:8550一键分享到QQ空间、QQ好友、新浪微博、微信代码   阅读:126350shell脚本批量删除几天前的文件   阅读:9353PHP 鸟哥:我也曾经是“不适合”编程的人   阅读:14014小米手机端商城rem适配原理   阅读:6471php打印九九加法表   阅读:9694shell发送邮件脚本   阅读:7102php删除一个文件夹内的所有文件夹和文件   阅读:4545php 获取当前前后年、月、星期、日、时分秒的时间   阅读:6381shell脚本破解十位数内的所有纯数字rar加密压缩包脚本   阅读:8550php中地址引用&的真正理解-变量引用、函数引用、对象引用   阅读:5382php打印九九加法表   阅读:9694移动端js触摸touch详解(附带案例源码)   阅读:16053php连接redis   阅读:5425web性能测试工具ab的测试方法   阅读:4383javascript获取两个日期间的所有日期   阅读:6242纯干货,程序员面试的超实用技巧   阅读:4035mongodb设置shell开机启动脚本   阅读:9515给php7安装redis扩展库   阅读:7946centos 7.2 添加php7 的 php-fpm 开机启动   阅读:23703php打印三角形   阅读:9011csv文件一键导入数据到mysql数据库   阅读:6402给网站添加一键qq登录的功能   阅读:7021mysql中文分词全文搜索索引讯搜的安装   阅读:6501php翻转字符串   阅读:3269centos 7 修改系统屏幕分辨率   阅读:43070php删除一个文件夹内的所有文件夹和文件   阅读:4545php打印三角形   阅读:9011php 获取当前前后年、月、星期、日、时分秒的时间   阅读:6381php打印三角形   阅读:9011小米手机端商城rem适配原理   阅读:6471centos 7 设置 nginx-1.11.10 开机启动   阅读:7700php文件下载防盗链   阅读:9449ajax+php 实现一个简单的在线聊天室功能(附带源码)   阅读:8938移动端js触摸touch详解(附带案例源码)   阅读:16053一键分享到QQ空间、QQ好友、新浪微博、微信代码   阅读:126350centos 7 安装 redis 3.2.9   阅读:6343php压缩页面的html代码一行显示   阅读:7001csv文件一键导入数据到mysql数据库   阅读:6402解决 nginx 413 request entity too large   阅读:4214给 centos 7 安装桌面环境   阅读:16457centos 7.2 添加php7 的 php-fpm 开机启动   阅读:23703最新centos7 搭建LNMP环境(centos7.2+php7+mysql5.7+nginx1.11+redis3.2)   阅读:10517centos 7 安装 php-7.1.3   阅读:19271php打印九九乘法表   阅读:9460centos 7 安装 redis 3.2.9   阅读:6343php+redis实现消息队列   阅读:13707mysql中文分词全文搜索索引讯搜的安装   阅读:6501