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 相关文章推荐
推荐Discuz!5的PHP代码高亮显示与实现可运行代码
Mar 15 PHP
修改php.ini实现Mysql导入数据库文件最大限制的修改方法
Dec 11 PHP
php中一个完整表单处理实现代码
Nov 10 PHP
PHP utf-8编码问题,utf8编码,数据库乱码,页面显示输出乱码
Apr 08 PHP
php学习笔记之基础知识
Nov 08 PHP
ThinkPHP自动完成中使用函数与回调方法实例
Nov 29 PHP
php面向对象编程self和static的区别
May 08 PHP
Yii2实现中国省市区三级联动实例
Feb 08 PHP
深入浅析PHP的session反序列化漏洞问题
Jun 15 PHP
PHPstorm快捷键(分享)
Jul 17 PHP
PHP中mysqli_get_server_version()的实例用法
Feb 03 PHP
laravel框架select2多选插件初始化默认选中项操作示例
Feb 18 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
重置版宣传动画
2020/04/09 魔兽争霸
简单的PHP留言本实例代码
2010/05/09 PHP
php 验证码实例代码
2010/06/01 PHP
Laravel 5框架学习之路由、控制器和视图简介
2015/04/07 PHP
斜45度寻路实现函数
2009/08/20 Javascript
Prototype源码浅析 Number部分
2012/01/16 Javascript
jquery使用slideDown实现模块缓慢拉出效果的方法
2015/03/27 Javascript
javascript框架设计之浏览器的嗅探和特征侦测
2015/06/23 Javascript
javascript实现网页中涉及的简易运动(改变宽高、透明度、位置)
2015/11/29 Javascript
js模仿java的Map集合详解
2016/01/06 Javascript
JavaScript对象参数的引用传递
2016/01/14 Javascript
基于BootStrap的图片轮播效果展示实例代码
2016/05/23 Javascript
nodejs利用http模块实现银行卡所属银行查询和骚扰电话验证示例
2016/12/30 NodeJs
OkHttp踩坑随笔为何 response.body().string() 只能调用一次
2018/01/08 Javascript
JS实现简单获取最近7天和最近3天日期的方法
2018/04/18 Javascript
JavaScript设计模式之享元模式实例详解
2019/01/17 Javascript
vuex如何重置所有state(可定制)
2019/01/17 Javascript
微信小程序定义和调用全局变量globalData的实现
2019/11/01 Javascript
vuex入门最详细整理
2020/03/04 Javascript
python3序列化与反序列化用法实例
2015/05/26 Python
Python中文分词工具之结巴分词用法实例总结【经典案例】
2017/04/15 Python
Python中的枚举类型示例介绍
2019/01/09 Python
Python 支付整合开发包的实现
2019/01/23 Python
python三大神器之fabric使用教程
2019/06/10 Python
在Qt5和PyQt5中设置支持高分辨率屏幕自适应的方法
2019/06/18 Python
解决.ui文件生成的.py文件运行不出现界面的方法
2019/06/19 Python
详解Python流程控制语句
2020/10/28 Python
python Xpath语法的使用
2020/11/26 Python
python语言time库和datetime库基本使用详解
2020/12/25 Python
缴纳养老保险的证明
2014/01/10 职场文书
学生出入校管理制度
2014/01/16 职场文书
情人节活动策划方案
2014/02/27 职场文书
领导干部保密承诺书
2014/08/30 职场文书
教师遵守党的政治纪律情况对照检查材料
2014/09/26 职场文书
稽核岗位职责范本
2015/04/13 职场文书
java设计模式--三种工厂模式详解
2021/07/21 Java/Android