开启辅助访问 切换到宽版

精易论坛

 找回密码
 注册

QQ登录

只需一步,快速开始

用微信号发送消息登录论坛

新人指南 邀请好友注册 - 我关注人的新帖 教你赚取精币 - 每日签到


求职/招聘- 论坛接单- 开发者大厅

论坛版规 总版规 - 建议/投诉 - 应聘版主 - 精华帖总集 积分说明 - 禁言标准 - 有奖举报

查看: 233|回复: 3
收起左侧

[分享] JPEG文件获取宽高异常的场景之一

[复制链接]

结帖率:100% (16/16)
发表于 前天 23:26 | 显示全部楼层 |阅读模式   四川省成都市

前言

  • 图片的宽度和高度是处理图片的必要信息

  • 但是,某些场景下获取的信息“不对”


获取的图片的宽度和高度和实际编辑图片的宽高比“不对”

获取图片宽高的途径

  • 从JPEG文件的EXIF信息中可以获取宽高

  • API方式获取图片宽高

  • 支持库位图获取图片宽高


    理论上,只要姿势对,获取的图片宽高就不会错

    实际上,获取的宽高没错,但是编辑图片的时候,原本16:9的照片却以9:16显示


    解析原因

  • 参考EXIF信息解析:https://blog.csdn.net/wllw7176/article/details/115577735

  • EXIF中图片旋转标志.

  • 在拍摄照片时,不可避免的会旋转相机、手机从不同的角度牌照。因此,EXIF中保存了图片的旋转信息。

  • Oritention Flag的取值范围是1-8,实际上对于照片,只会出现1、3、6和8四个值。 各值的意义如下:

EXIF Orientation 翻转方式
1 未翻转
2* 左右翻转
3 180度旋转
4* 上下翻转
5* 左旋转90度后上下翻转
6 右旋转90度
7* 右旋转90度后上下翻转
8 左旋转90度
  • 注意:带“*”号的基本不会出现,因为用相机拍摄照片时,没法做“镜像翻转”这样的操作。
  • 系统的浏览图片会根据旋转标志自动回正图片以便查看,正常查看图片信息与浏览图片均符合常理(所见即所得)

  • 实际编辑图片的时候会忽略旋转标志,导致编辑状态下的图片会以旋转标志标示的一样旋转后显示,这就和浏览看见的图片的宽高比不符。16:9的图片以9:16显示在编辑状态下


    解决方案

  • 解析图片EXIF信息,获取旋转标志,根据旋转标志旋转图片后再进行编辑

注意事项

  • 本篇分享的问题解析均基于JPEG文件格式。

  • 下载一张未经修改的相机直出带旋转标志的jpeg文件,用美图秀秀编辑的时候就一目了然复现本文的异常。

本帖被以下淘专辑推荐:

  • · 好帖|主题: 1242, 订阅: 47
结帖率:100% (4/4)
发表于 昨天 21:08 | 显示全部楼层   台湾省台中市
回复 支持 反对

使用道具 举报

结帖率:100% (16/16)

签到天数: 2 天

 楼主| 发表于 昨天 00:11 | 显示全部楼层   四川省成都市

双响
回复 支持 反对

使用道具 举报

签到天数: 2 天

发表于 昨天 00:01 高大上手机用户 | 显示全部楼层   广东省揭阳市
哎哟 炸尸了~

点评

双响   四川省成都市  详情 回复 发表于 昨天 00:11
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则 致发广告者

发布主题 收藏帖子 返回列表

sitemap| 易语言源码| 易语言教程| 易语言论坛| 易语言模块| 手机版| 广告投放| 精易论坛
拒绝任何人以任何形式在本论坛发表与中华人民共和国法律相抵触的言论,本站内容均为会员发表,并不代表精易立场!
论坛帖子内容仅用于技术交流学习和研究的目的,严禁用于非法目的,否则造成一切后果自负!如帖子内容侵害到你的权益,请联系我们!
防范网络诈骗,远离网络犯罪 违法和不良信息举报QQ: 793400750,邮箱:wp@125.la
网站简介:精易论坛成立于2009年,是一个程序设计学习交流技术论坛,隶属于揭阳市揭东区精易科技有限公司所有。
Powered by Discuz! X3.4 揭阳市揭东区精易科技有限公司 ( 粤ICP备12094385号-1) 粤公网安备 44522102000125 增值电信业务经营许可证 粤B2-20192173

快速回复 返回顶部 返回列表