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 相关文章推荐
mac下使用brew配置环境的步骤分享
May 23 PHP
header跳转和include包含问题详解
Sep 08 PHP
实现在同一方法中获取当前方法中新赋值的session值解决方法
Jun 26 PHP
列举PHP的Yii 2框架的开发优势
Jul 03 PHP
10个对初学者非常有用的PHP技巧
Apr 06 PHP
php生成酷炫的四个字符验证码
Apr 22 PHP
PhpStorm terminal无法输入命令的解决方法
Oct 09 PHP
PHP获取IP地址所在地信息的实例(使用纯真IP数据库qqwry.dat)
Nov 15 PHP
PHP后台实现微信小程序登录
Aug 03 PHP
laravel 解决paginate查询多个字段报错的问题
Oct 22 PHP
php 使用ActiveMQ发送消息,与处理消息操作示例
Feb 23 PHP
PHP7 list() 函数修改
Mar 09 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环境套包 dedeampz 伪静态设置示例
2014/03/26 PHP
CodeIgniter CLI模式简介
2014/06/17 PHP
destoon在360浏览器下出现用户被强行注销的解决方法
2014/06/26 PHP
php实现的树形结构数据存取类实例
2014/11/29 PHP
ThinkPHP安装和设置
2015/07/27 PHP
几个javascript操作word的参考代码
2009/10/26 Javascript
javascript判断office版本示例
2014/04/11 Javascript
自写的jQuery异步加载数据添加事件
2014/05/15 Javascript
jquery实现炫酷的叠加层自动切换特效
2015/02/01 Javascript
JS实现自定义简单网页软键盘效果代码
2015/11/05 Javascript
微信小程序  audio音频播放详解及实例
2016/11/02 Javascript
利用VUE框架,实现列表分页功能示例代码
2017/01/12 Javascript
jQuery dateRangePicker插件使用方法详解
2017/07/28 jQuery
vue项目中使用tinymce编辑器的步骤详解
2018/09/11 Javascript
解决Vue.js父组件$on无法监听子组件$emit触发事件的问题
2018/09/12 Javascript
Javascript读写cookie的实例源码
2019/03/16 Javascript
Python中的装饰器用法详解
2015/01/14 Python
python实现的简单抽奖系统实例
2015/05/22 Python
Python处理JSON时的值报错及编码报错的两则解决实录
2016/06/26 Python
使用python实现个性化词云的方法
2017/06/16 Python
python实现微信发送邮件关闭电脑功能
2018/02/22 Python
pandas数据框,统计某列数据对应的个数方法
2018/04/11 Python
使用python来调用CAN通讯的DLL实现方法
2019/07/03 Python
pytorch实现查看当前学习率
2020/06/24 Python
使用python脚本自动生成K8S-YAML的方法示例
2020/07/12 Python
瑞典最好的运动鞋专卖店:Sneakersnstuff
2016/08/29 全球购物
Burberry英国官网:英国标志性奢侈品牌
2017/03/29 全球购物
NBA欧洲商店(英国):NBA Europe Store UK
2018/07/27 全球购物
银行职业规划书范文
2013/12/28 职场文书
晚归检讨书
2014/02/19 职场文书
授权委托书格式模板
2014/04/03 职场文书
2014个人反腐倡廉思想汇报
2014/09/15 职场文书
泸县召开党的群众路线教育实践活动总结大会新闻稿
2014/10/21 职场文书
考研英语复习计划
2015/01/19 职场文书
小浪底导游词
2015/02/12 职场文书
刑事法律意见书
2015/06/04 职场文书