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 生成静态页面的办法与实现代码详细版
Feb 15 PHP
php XPath对XML文件查找及修改实现代码
Jul 27 PHP
php 判断访客是否为搜索引擎蜘蛛的函数代码
Jul 29 PHP
探讨:如何通过stats命令分析Memcached的内部状态
Jun 14 PHP
php object转数组示例
Jan 15 PHP
php压缩和解压缩字符串的方法
Mar 14 PHP
php比较相似字符串的方法
Jun 05 PHP
FastCGI 进程意外退出造成500错误
Jul 26 PHP
PHP Yaf框架的简单安装使用教程(推荐)
Jun 08 PHP
php简单随机字符串生成方法示例
Apr 19 PHP
thinkPHP+LayUI 流加载实现功能
Sep 27 PHP
Laravel 手动开关 Eloquent 修改器的操作方法
Dec 30 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
解析func_num_args与func_get_args函数的使用
2013/06/24 PHP
preg_match_all使用心得分享
2014/01/31 PHP
Yii2配置Nginx伪静态的方法
2017/05/05 PHP
PHPMailer使用QQ邮箱实现邮件发送功能
2017/08/18 PHP
利用ASP发送和接收XML数据的处理方法与代码
2007/11/13 Javascript
jquery 图片 上一张 下一张 链接效果(续篇)
2010/04/20 Javascript
JavaScript 类的定义和引用 JavaScript高级培训 自定义对象
2010/04/27 Javascript
获取dom元素那些讨厌的位置封装代码
2010/06/23 Javascript
jquery检测input checked 控件是否被选中的方法
2014/03/26 Javascript
JS实现控制表格行内容垂直对齐的方法
2015/03/30 Javascript
基于javascript实现最简单的选项卡切换效果
2016/05/16 Javascript
浅谈jquery中使用canvas的问题
2016/10/10 Javascript
详解Webpack DLL用法以及功能
2017/07/11 Javascript
JS Input里添加小图标的两种方法
2017/11/11 Javascript
简述vue中的config配置
2018/01/23 Javascript
vue实现简单跑马灯效果
2020/05/25 Javascript
使用原生JS实现滚轮翻页效果的示例代码
2020/05/31 Javascript
Bootstrap告警框(alert)实现弹出效果和短暂显示后上浮消失的示例代码
2020/08/27 Javascript
Python3.6 Schedule模块定时任务(实例讲解)
2017/11/09 Python
Python内存管理方式和垃圾回收算法解析
2017/11/11 Python
Python SELENIUM上传文件或图片实现过程
2019/10/28 Python
使用Python操作ArangoDB的方法步骤
2020/02/02 Python
tensorflow指定GPU与动态分配GPU memory设置
2020/02/03 Python
对python中list的五种查找方法说明
2020/07/13 Python
python 常见的反爬虫策略
2020/09/27 Python
HTML5 MiranaVideo播放器 (代码开源)
2010/06/11 HTML / CSS
HTML5 Canvas旋转动画的2个代码例子(一个旋转的太极图效果)
2014/04/10 HTML / CSS
美国山地自行车、露营、户外装备和服装购物网站:Aventuron
2018/05/05 全球购物
豪华床上用品 :Jennifer Adams
2019/09/15 全球购物
如何高效率的查找一个月以内的数据
2012/04/15 面试题
思想专业自荐信范文
2013/12/25 职场文书
2014年高三毕业生自我评价
2014/01/11 职场文书
学校先进集体事迹材料
2014/05/31 职场文书
质量负责人任命书
2014/06/06 职场文书
体育运动会广播稿
2014/10/05 职场文书
500字小学生检讨书
2015/02/19 职场文书