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实现的仿阿里巴巴实现同类产品翻页
Dec 11 PHP
php下把数组保存为文件格式的实例应用
Feb 08 PHP
PHP stripos()函数及注意事项的分析
Jun 08 PHP
深入解析yii权限分级式访问控制的实现(非RBAC法)
Jun 13 PHP
解析php中session的实现原理以及大网站应用应注意的问题
Jun 17 PHP
php使用fopen创建utf8编码文件的方法
Oct 31 PHP
php检测图片主要颜色的方法
Jul 01 PHP
thinkphp微信开发(消息加密解密)
Dec 02 PHP
PHP使用fopen与file_get_contents读取文件实例分享
Mar 04 PHP
关于ThinkPhp 框架表单验证及ajax验证问题
Jul 19 PHP
php获取微信共享收货地址的方法
Dec 21 PHP
PHP开启目录引索+fancyindex漂亮目录浏览带搜索功能
Sep 23 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 判断网页是否是utf8编码的方法
2014/06/06 PHP
浅谈php中include文件变量作用域
2015/06/18 PHP
PHP底层运行机制与工作原理详解
2020/07/31 PHP
读jQuery之十三 添加事件和删除事件的核心方法
2011/08/23 Javascript
Extjs Gird 支持中文拼音排序实现代码
2013/04/15 Javascript
Javascript中封装window.open解决不兼容问题
2014/09/28 Javascript
基于jQuery实现返回顶部实例代码
2016/01/01 Javascript
Backbone.js框架中简单的View视图编写学习笔记
2016/02/14 Javascript
详解使用angular的HttpClient搭配rxjs
2017/09/01 Javascript
vue params、query传参使用详解
2017/09/12 Javascript
Nodejs中crypto模块的安全知识讲解
2018/01/03 NodeJs
微信小程序异步API为Promise简化异步编程的操作方法
2018/08/14 Javascript
js的继承方法小结(prototype、call、apply)(推荐)
2019/04/17 Javascript
javascript数组的定义及操作实例
2019/11/10 Javascript
js实现文字头像的生成代码
2020/03/07 Javascript
[09:43]DOTA2每周TOP10 精彩击杀集锦vol.5
2014/06/25 DOTA
[38:23]完美世界DOTA2联赛循环赛 FTD vs PXG BO2第二场 11.01
2020/11/02 DOTA
python基础教程之popen函数操作其它程序的输入和输出示例
2014/02/10 Python
cmd运行python文件时对结果进行保存的方法
2018/05/16 Python
python 构造三维全零数组的方法
2018/11/12 Python
详解PANDAS 数据合并与重塑(join/merge篇)
2019/07/09 Python
Python读取实时数据流示例
2019/12/02 Python
python装饰器代替set get方法实例
2019/12/19 Python
将python包发布到PyPI和制作whl文件方式
2019/12/25 Python
HTML5 Canvas基本线条绘制的实例教程
2016/03/17 HTML / CSS
英国时尚运动品牌的合集:The Sports Edit
2017/12/20 全球购物
39美元购买一副眼镜或太阳镜:39DollarGlasses.com
2018/06/17 全球购物
施华洛世奇巴西官网:SWAROVSKI巴西
2019/12/03 全球购物
个人自荐书
2013/12/20 职场文书
远程教育心得体会
2014/01/03 职场文书
考试作弊被抓检讨书
2014/01/10 职场文书
《晚上的太阳》教学反思
2014/04/23 职场文书
给妈妈洗脚活动方案
2014/08/16 职场文书
幼儿园园长新年寄语2015
2014/12/08 职场文书
检察院起诉书
2015/05/20 职场文书
MySQL GRANT用户授权的实现
2021/06/18 MySQL