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 相关文章推荐
linux下 C语言对 php 扩展
Dec 14 PHP
深入php socket的讲解与实例分析
Jun 13 PHP
php缓冲 output_buffering和ob_start使用介绍
Jan 30 PHP
PHP中使用strpos函数实现屏蔽敏感关键字功能
Aug 21 PHP
php常用hash加密函数
Nov 22 PHP
php提示Failed to write session data错误的解决方法
Dec 17 PHP
PHP生成指定随机字符串的简单实现方法
Apr 01 PHP
PHP里面把16进制的图片数据显示在html的img标签上(实现方法)
May 02 PHP
[原创]PHP global全局变量经典应用与注意事项分析【附$GLOBALS用法对比】
Jul 12 PHP
laravel-admin解决表单select联动时,编辑默认没选上的问题
Sep 30 PHP
Yii使用EasyWechat实现小程序获取用户的openID的方法
Apr 29 PHP
PHP设计模式(观察者模式)
Jul 07 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
福利彩票幸运号码自动生成器
2006/10/09 PHP
php for 循环语句使用方法详细说明
2010/05/09 PHP
php获取、检查类名、函数名、方法名的函数方法
2015/06/25 PHP
Yii2.0表关联查询实例分析
2016/07/18 PHP
微信自定义分享php代码分析
2016/11/24 PHP
父子窗体间传递JSON格式的数据的代码
2010/12/25 Javascript
如何实现修改密码时密码框显示保存到cookie的密码
2013/12/10 Javascript
js根据日期判断星座的示例代码
2014/01/23 Javascript
jQuery学习笔记之jQuery中的$
2015/01/19 Javascript
javascript查询字符串参数的方法
2015/01/28 Javascript
jQuery操作基本控件方法实例分析
2015/12/31 Javascript
使用 jQuery.ajax 上传带文件的表单遇到的问题
2016/10/31 Javascript
Angular2管道Pipe及自定义管道格式数据用法实例分析
2017/11/29 Javascript
vue cli3.0结合echarts3.0与地图的使用方法示例
2019/03/26 Javascript
小程序开发之模态框组件封装
2020/04/23 Javascript
基于javascript的无缝滚动动画实现2
2020/08/07 Javascript
[00:20]DOTA2荣耀之路7:-ah fu-抢盾
2018/05/31 DOTA
在Python中使用第三方模块的教程
2015/04/27 Python
Python中类的定义、继承及使用对象实例详解
2015/04/30 Python
python密码错误三次锁定(实例讲解)
2017/11/14 Python
Python使用selenium实现网页用户名 密码 验证码自动登录功能
2018/05/16 Python
TensorFlow 合并/连接数组的方法
2018/07/27 Python
详解Python网络框架Django和Scrapy安装指南
2019/04/01 Python
python用线性回归预测股票价格的实现代码
2019/09/04 Python
Python包和模块的分发详细介绍
2020/06/19 Python
Python grequests模块使用场景及代码实例
2020/08/10 Python
html5写一个BUI折叠菜单插件的实现方法
2019/09/11 HTML / CSS
英国快时尚女装购物网站:PrettyLittleThing
2018/08/15 全球购物
美国最大的购物网站:Amazon.com(亚马逊美国)
2020/05/23 全球购物
优秀毕业生求职推荐信范文
2013/11/21 职场文书
大学军训感想
2014/02/12 职场文书
年度考核自我鉴定
2014/03/19 职场文书
基层党组织整改方案
2014/10/25 职场文书
2015年建党94周年演讲稿
2015/03/19 职场文书
redis 限制内存使用大小的实现
2021/05/08 Redis
PyTorch 实现L2正则化以及Dropout的操作
2021/05/27 Python