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 相关文章推荐
JAVA/JSP学习系列之六
Oct 09 PHP
php auth_http类库进行身份效验
Mar 19 PHP
smarty模板嵌套之include与fetch性能测试
Dec 05 PHP
PHP高级对象构建 多个构造函数的使用
Feb 05 PHP
基于PHP选项与信息函数的使用详解
May 10 PHP
如何使用Strace调试工具
Jun 03 PHP
关于PHP自动判断字符集并转码的详解
Jun 26 PHP
FastCGI 进程意外退出造成500错误
Jul 26 PHP
PHP版微信小店接口开发实例
Nov 12 PHP
php strftime函数获取日期时间(switch用法)
May 16 PHP
laravel添加前台跳转成功页面示例
Oct 22 PHP
laravel5.6框架操作数据curd写法(查询构建器)实例分析
Jan 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 字符过滤类,用于过滤各类用户输入的数据
2009/05/27 PHP
php中神奇的fastcgi_finish_request
2011/05/02 PHP
PHP中strtotime函数使用方法详解
2011/11/27 PHP
如何直接访问php实例对象中的private属性详解
2017/10/12 PHP
laravel 字段格式化 modle 字段类型转换方法
2019/09/30 PHP
picChange 图片切换特效的函数代码
2010/05/06 Javascript
PHP 与 js的通信(via ajax,json)
2010/11/16 Javascript
一个CSS+jQuery实现的放大缩小动画效果
2014/02/19 Javascript
js实现TAB切换对应不同颜色的代码
2015/08/31 Javascript
JS实现网站菜单拖拽移位效果的方法
2015/09/24 Javascript
Bootstrap 最常用的JS插件系列总结(图片轮播、标签切换等)
2016/07/14 Javascript
js仿小米官网图片轮播特效
2016/09/29 Javascript
详解Bootstrap各式各样的按钮(推荐)
2016/12/13 Javascript
深入解析nodejs HTTP服务
2017/07/25 NodeJs
详解Vuex中mapState的具体用法
2017/09/28 Javascript
Vue 页面切换效果之 BubbleTransition(推荐)
2018/04/08 Javascript
详解JavaScript 新语法之Class 的私有属性与私有方法
2019/04/23 Javascript
Pandas中把dataframe转成array的方法
2018/04/13 Python
python遍历文件夹找出文件夹后缀为py的文件方法
2018/10/21 Python
对python 多个分隔符split 的实例详解
2018/12/20 Python
Python连接Hadoop数据中遇到的各种坑(汇总)
2020/04/14 Python
Python如何把Spark数据写入ElasticSearch
2020/04/18 Python
Django web自定义通用权限控制实现方法
2020/11/24 Python
Foot Locker意大利官网:全球领先的运动鞋和服装零售商
2017/05/30 全球购物
美国轮胎网站:Priority Tire
2018/11/28 全球购物
先进事迹报告会感言
2014/01/24 职场文书
2014年大学生党课心得体会范文
2014/03/29 职场文书
教师个人读书活动总结
2014/07/08 职场文书
党员目标管理责任书
2014/07/25 职场文书
“四风”问题对照检查材料思想汇报
2014/09/16 职场文书
2014年向国旗敬礼活动方案
2014/09/27 职场文书
2014年基层党支部工作总结
2014/12/04 职场文书
2015年幼儿园班务工作总结
2015/05/12 职场文书
中小学教师继续教育心得体会
2016/01/19 职场文书
表扬稿表扬信的格式及范文
2019/06/24 职场文书
Python天气语音播报小助手
2021/09/25 Python