倒转
周末一早儿,天气甚好。若不与大自然来个自拍,倒辜负了此番好天气。
馒头Mant.君随手打开一款极其小众的图片社交app,上传了刚刚的自拍照。
“loading…loading…100%了!”
诶,怎么上传的照片方向不对,倒转了90度!
咋回事儿?上传的自拍怎么还倒转了…
首先,说一下什么叫图片倒转?见下图。
其实在前言就提到,图片的倒转现象是指图片的方向发生了变化。比如上图就是竖向式照片在上传后横置了。
那为什么会出现图片倒转?其实,对于一款app来说,图片倒转出现的概率极低。如果app本身采取了一定的“手段”(后面会详细介绍),那么就根本不会出现图片倒转的问题。如果在app没有采取任何措施的情况下,那只有当上传的图片文件过大等才会出现这种问题。
但是,当出现图片倒转的问题时应该怎么解决?
各位少侠会yy,在上传图片前提前调整图片方向,将其按照app倒转方向前置逆向倒转掉,这样再去上传图片,图片方向就正常了。
不过,这种办法馒头Mant.君亲自尝试过,答案是“No Way” 。在我测试后发现,有些情况下对图片的提前逆转,会导致上传时不会发生图片倒转的现象。那相当于最后上传的图片还是倒转的,只不过这种倒转是属于人为造成的。
但是,即便这种方法是有效且屡试不爽的,可还是给用户体验上带来了糟糕的感受,因为在产品的易用性方面极大程度上给用户带来了困扰和挫败感。
今天我们就从产品层思考下,如何去解决图片倒转的问题。
方案一 : 事后防控
什么叫事后防控?就是说在问题发生后,给到用户一个工具或方法去改善它,来防控这样的问题较大概率地出现。
如果我们在产品上可预见会发生图片倒转的问题,是需要给到用户一个补偿措施的。就是说既然上传的图片在方向上可能会出现问题,我们可以设计出一个交互组件,来帮助用户对尚未正式上传前的预览图片进行方向调整然后再上传。
其实,这是一个完全站在用户角度设计的产品,调整或不调整由用户来主导。但对于商业产品却不一定适合,为什么?比如今天馒头我是京东pop商家,打算在京东发布商品,需要上传一些商品图片送审后上架展示。这里的“送审”和“上架展示”是两个环节,我在上传图片时没有注意到图片倒转,接下来会发生什么?审核人员会看到倒转的图片,一旦审核标准放宽(即仅仅审核图片内容是否含有不健康信息),就会导致商品上架后京东买家看到的商品橱窗位的图片都是倒转的。无论如何,从业务上(买家、卖家、平台)都是不希望或者不允许这样的问题出现的。
但这就是这种产品设计的弊端,不能100%去拦截图片倒转的问题,绝大程度上取决于用户的意愿。比如这是一个社交app,少侠你自拍的颜图在上传时出现倒转,很有可能是会选择调整方向的。但假如12306需要上传身份证拍照信息,如果没有强限制方向,少侠你还会费尽周折地调整图片方向再上传么?
那还有没有更好的方案了?有,就是作事前预处理,也是目前绝大多数app会采取的一种手段来防止图片倒转的问题。
方案二 :事前预处理
就是说在图片上传时让前端来识别图片的方向,从而将图片准确无误地显示出来。
但是系统又不是人,怎么可能知道传过来的图片的正确方向。即便是人,也有时难以分出图片方向。不过,系统还真的是可以知道图片的正确方向的。怎么做到的?实际上,我们用手机或其他数码设备拍照时,会把一系列的属性信息附加在图片文件,这些属性构成了大家常说的Exif信息。Exif信息中就有一个Orientation属性字段,属性值其实就是存放图片的方向信息。那这样就好办了,让前端引入Exif库,读取图片的旋转信息,放在图片上传的字段里,服务端识别旋转信息对图片作一个反向旋转处理。这样,图片倒转的问题迎刃而解。
不过,馒头在这里还是要提醒一句,并不是所有图片都有旋转信息的,这还是要取决于拍照的数码设备是否拥有方向传感器。否则,上述讨论的方案将一切于事无补。
以上就是这篇文章的全部内容了。我是馒头Mant.君,一名90后互联网产品经理。
哦对了,
我所说的,都是错的。
相关阅读
该进程的详细路径是在:C:\WINDOWS\System32\Wbem 我们可以在任务管理器中“wmiprvse.exe”进程上单击右键,选择“打开文件位置
如何解决“无法开始调试 无法找到 Microsoft Internet
方法如下:1、随便在你的工程里面找一个页面,右键点之,选浏览方式,把IE设为默认的2、在最上面的菜单中的选择项目/web/配置属性/调试/
如何解决Flash “此Flash Player 与您的地区不相容,请
这些天很多朋友发现,观看网络视频时,页面会弹出“此Flash Player 与您的地区不相容,请重新安装Flash”的提示。 如下截图: 先说一下
用mac自带terminal ssh连虚拟机centos提示port 22: Op
2018.8.14 17:45更新 找到了另外一条路。终于可以用mac自带terminal ssh连虚拟机centos了。 各版本还是不变,在centos的初始状态下
编者:快刀青衣,就职搜狐,负责各个内容频道产品研发和少量的运营工作。关于产品和运营的互动产品和运营不用分的那么细,大家都是全才,然