php识别翻转iphone拍摄的颠倒图片


Posted in PHP onMay 17, 2018

用iphone横向拍摄并上传的图片往往是向左或向右90度侧向显示的,本文介绍如何用php识别并且翻转图片到正确位置。

ps : 此方法只能判断一些手机相机拍摄的图片位置颠倒 

代码:

// 首先用这个函数读取图片的一些头信息
// 原理就是在头信息中取出图片的位置信息 并且根据位置信息对图片做出调整
// 此函数只能处理jpeg 与 tiff 的图片格式
$exif = exif_read_data ($url,0,true);
 
if(isset($exif['IFD0']['Orientation'])){
 $source = imagecreatefromjpeg($url);//读取图片流
 
 //判断角度翻转
 switch($exif['IFD0']['Orientation']) {
  case 8:
   $image = imagerotate($source, 90, 0);
   break;
  case 3:
   $image = imagerotate($source, 180, 0);
   break;
  case 6:
   $image = imagerotate($source, -90, 0);
   break;
  }
 
 //保存到本地
 imagejpeg($image,'../storage/tmp.jpeg');
 
 //释放内存
 imagedestroy($image);
     
}

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持三水点靠木。

PHP 相关文章推荐
PHP在XP下IIS和Apache2服务器上的安装
Sep 05 PHP
国内php原创论坛
Oct 09 PHP
source.php查看源文件
Dec 09 PHP
解析mysql中UNIX_TIMESTAMP()函数与php中time()函数的区别
Jun 24 PHP
php递归使用示例(php递归函数)
Feb 14 PHP
php获取参数的几种方法总结
Feb 18 PHP
PHP启动windows应用程序、执行bat批处理、执行cmd命令的方法(exec、system函数详解)
Oct 20 PHP
让ThinkPHP支持大小写url地址访问的方法
Oct 31 PHP
yiic命令时提示“php.exe”不是内部或外部命令的解决方法
Dec 18 PHP
twig模板常用语句实例小结
Feb 04 PHP
PHP+Ajax简单get验证操作示例
Mar 02 PHP
Laravel 修改验证异常的响应格式实例代码详解
May 25 PHP
php通过各种函数判断0和空
Jul 04 #PHP
PHP手机短信验证码实现流程详解
May 17 #PHP
PHP实现多图上传和单图上传功能
May 17 #PHP
php实现姓名根据首字母排序的类与方法(实例代码)
May 16 #PHP
PHP多维数组指定多字段排序的示例代码
May 16 #PHP
php strftime函数获取日期时间(switch用法)
May 16 #PHP
Phpstorm+Xdebug断点调试PHP的方法
May 14 #PHP
You might like
如何在PHP中使用Oracle数据库(2)
2006/10/09 PHP
php URL验证正则表达式
2011/07/19 PHP
基于php缓存的详解
2013/05/15 PHP
百度工程师讲PHP函数的实现原理及性能分析(一)
2015/05/13 PHP
PDO实现学生管理系统
2020/03/21 PHP
js模拟弹出效果代码修正版
2008/08/07 Javascript
自己开发Dojo的建议框架
2008/09/24 Javascript
IE6图片加载的一个BUG解决方法
2010/07/13 Javascript
封装了一个js图片轮换效果的函数
2011/09/28 Javascript
有关Promises异步问题详解
2015/11/13 Javascript
利用jquery禁止外层滚动条的滚动
2017/01/05 Javascript
解决给dom元素绑定click等事件无效问题的方法
2017/02/17 Javascript
jquery实现的table排序功能示例
2017/03/10 Javascript
Vue.js实战之利用vue-router实现跳转页面
2017/04/01 Javascript
详解vue-router 2.0 常用基础知识点之router.push()
2017/05/10 Javascript
基于 webpack2 实现的多入口项目脚手架详解
2017/06/26 Javascript
Javascript(es2016) import和require用法和区别详解
2017/08/11 Javascript
让网站自动生成章节目录索引的多个js代码
2018/01/07 Javascript
php中and 和 &&出坑指南
2018/07/13 Javascript
javascriptvoid(0)含义以及与"#"的区别讲解
2019/01/19 Javascript
mongodb初始化并使用node.js实现mongodb操作封装方法
2019/04/02 Javascript
js实现点赞按钮功能的实例代码
2020/03/06 Javascript
[35:34]Liquid vs Winstrike 2018国际邀请赛小组赛BO2 第一场 8.18
2018/08/19 DOTA
Python生成随机验证码的两种方法
2015/12/22 Python
Python 单元测试(unittest)的使用小结
2018/11/14 Python
Python数据分析:手把手教你用Pandas生成可视化图表的教程
2018/12/15 Python
Flask之请求钩子的实现
2018/12/23 Python
python实现列表中最大最小值输出的示例
2019/07/09 Python
python打印文件的前几行或最后几行教程
2020/02/13 Python
解决python DataFrame 打印结果不换行问题
2020/04/09 Python
教师推荐信范文
2013/11/24 职场文书
个人现实表现材料
2014/02/04 职场文书
2014年会策划方案
2014/05/11 职场文书
保研导师推荐信
2015/03/25 职场文书
2015年专项整治工作总结
2015/04/03 职场文书
SpringBoot集成Redis,并自定义对象序列化操作
2021/06/22 Java/Android