php图像处理函数imagecopyresampled用法详解


Posted in PHP onDecember 02, 2016

本文实例讲述了php图像处理函数imagecopyresampled用法。分享给大家供大家参考,具体如下:

语法

bool imagecopyresampled ( resource $dst_image , resource $src_image , int $dst_x , int $dst_y , int $src_x , int $src_y , int $dst_w , int $dst_h , int $src_w , int $src_h )

参数

dst_image 目标图象连接资源。
src_image 源图象连接资源。
dst_x 目标 X 坐标点。
dst_y 目标 Y 坐标点。
src_x 源的 X 坐标点。
src_y 源的 Y 坐标点。
dst_w 目标宽度。
dst_h 目标高度。
src_w 源图象的宽度。
src_h 源图象的高度。

成功时返回 TRUE, 或者在失败时返回 FALSE。

案例

案例(图像裁减):

<?php
  $targ_w = $targ_h = 150; // 设置目标宽度与高度
  $jpeg_quality = 90; // 图片质量90,满分为100
  $src = 'demo_files/pool.jpg'; // 被处理的图片
  $img_r = imagecreatefromjpeg($src); // 获取原图
  $dst_r = ImageCreateTrueColor( $targ_w, $targ_h ); // 获取新图
  imagecopyresampled($dst_r,$img_r,0,0,$_POST['x'],$_POST['y'],
  $targ_w,$targ_h,$_POST['w'],$_POST['h']); // 目标图 源图 目标X坐标点 目标Y坐标点 源的X坐标点 源的Y坐标点 目标宽度 目标高度 源图宽度 源图高度
  header('Content-type: image/jpeg');
  imagejpeg($dst_r,null,$jpeg_quality); // 输出图象到浏览器或文件
?>

案例二(重新取样):

<?php
// 源文件
$filename = '1.jpg';
// 设置最大宽高
$width = 400;
$height = 400;
// Content type
header('Content-Type: image/jpeg');
// 获取新尺寸
list($width_orig, $height_orig) = getimagesize($filename);
$ratio_orig = $width_orig/$height_orig;
if ($width/$height > $ratio_orig) {
  $width = $height*$ratio_orig;
} else {
  $height = $width/$ratio_orig;
}
// 重新取样
$image_p = imagecreatetruecolor($width, $height);
$image = imagecreatefromjpeg($filename);
imagecopyresampled($image_p, $image, 0, 0, 0, 0, $width, $height, $width_orig, $height_orig);
// 输出
imagejpeg($image_p, null, 100);
?>

附上上传图片的三种思路

1.选择图片,提交表单,服务器统一处理上传,保存路径

2.选择图片,上传,获取路径,提交表单,保存路径

3.选择图片,上传到服务器,通过某种途径获取到服务器的图片,保存到本地

希望本文所述对大家PHP程序设计有所帮助。

PHP 相关文章推荐
PHP无限分类的类
Jan 02 PHP
PHP curl模拟浏览器采集阿里巴巴的实现代码
Apr 20 PHP
探讨PHP中this,self,parent的区别详解
Jun 08 PHP
测试PHP连接MYSQL成功与否的代码
Aug 16 PHP
PHP中$_FILES的使用方法及注意事项说明
Feb 14 PHP
分享PHP函数实现数字与文字分页代码
Jul 28 PHP
php验证邮箱和ip地址最简单方法汇总
Oct 30 PHP
Laravel中基于Artisan View扩展包创建及删除应用视图文件的方法
Oct 08 PHP
php+redis实现多台服务器内网存储session并读取示例
Jan 12 PHP
PHP命名空间namespace及use的简单用法分析
Aug 03 PHP
PHP Beanstalkd消息队列的安装与使用方法实例详解
Feb 21 PHP
PHP实现两种排课方式
Jun 26 PHP
PHP面向对象继承用法详解(优化与减少代码重复)
Dec 02 #PHP
PHP面向对象程序设计高级特性详解(接口,继承,抽象类,析构,克隆等)
Dec 02 #PHP
PHP面向对象程序设计之命名空间与自动加载类详解
Dec 02 #PHP
PHP面向对象程序设计之类与反射API详解
Dec 02 #PHP
PHP面向对象程序设计之对象生成方法详解
Dec 02 #PHP
PHP面向对象程序设计组合模式与装饰模式详解
Dec 02 #PHP
PHP与jquery实时显示网站在线人数实例详解
Dec 02 #PHP
You might like
PHP与javascript的两种交互方式
2006/10/09 PHP
php共享内存段示例分享
2014/01/20 PHP
php中current、next与reset函数用法实例
2014/11/17 PHP
PHP图片处理之使用imagecopyresampled函数实现图片缩放例子
2014/11/19 PHP
php写一个函数,实现扫描并打印出自定目录下(含子目录)所有jpg文件名
2017/05/26 PHP
php无限极分类实现方法分析
2019/07/04 PHP
Jquery命名冲突解决的五种方案分享
2012/03/16 Javascript
ExtJS的拖拽效果示例
2013/12/09 Javascript
Javascript动态创建div的方法
2015/02/09 Javascript
JS使用oumousemove和oumouseout动态改变图片显示的方法
2015/03/31 Javascript
基于jQuery的AJAX和JSON实现纯html数据模板
2016/08/09 Javascript
Vuex之理解Store的用法
2017/04/19 Javascript
简单谈谈原生js的math对象
2017/06/27 Javascript
js匿名函数使用&amp;传参(实例)
2017/09/08 Javascript
通过cordova将vue项目打包为webapp的方法
2019/02/02 Javascript
React 父子组件通信的实现方法
2019/12/05 Javascript
JavaScript函数柯里化实现原理及过程
2020/12/02 Javascript
python实现字典(dict)和字符串(string)的相互转换方法
2017/03/01 Python
python的mysqldb安装步骤详解
2017/08/14 Python
Python使用三种方法实现PCA算法
2017/12/12 Python
基于Python的文件类型和字符串详解
2017/12/21 Python
浅谈Django的缓存机制
2018/08/23 Python
python中map的基本用法示例
2018/09/10 Python
django mysql数据库及图片上传接口详解
2019/07/18 Python
django框架创建应用操作示例
2019/09/26 Python
K最近邻算法(KNN)---sklearn+python实现方式
2020/02/24 Python
CSS3标注引用的出处和来源的方法
2020/02/25 HTML / CSS
HTML5 Web Database 数据库的SQL语句的使用方法
2012/12/09 HTML / CSS
6PM官网:折扣鞋、服装及配饰
2018/08/03 全球购物
全球独特生活方式产品和礼品购物网站:AHAlife
2018/09/18 全球购物
整个世界的设计师家具在哈恩:Designathome
2019/03/25 全球购物
颇特女士香港官网:NET-A-PORTER香港
2021/03/08 全球购物
HashMap和Hashtable的区别
2013/05/18 面试题
幸福中国演讲稿
2014/09/12 职场文书
2015年会计工作总结范文
2015/05/26 职场文书
windows安装python超详细图文教程
2021/05/21 Python