开发者社区 问答 正文

图片旋转之如何实现自适应方向?


某些手机拍摄出来的照片可能带有旋转参数(存放在照片exif信息里面)

参数

名称描述取值范围
o进行自动旋转0:表示按原图默认方向,不进行自动旋转1:表示根据图片的旋转参数,对图片进行自动旋转,如果存在缩略参数,是先进行缩略,再进行旋转。2: 表示根据图片的旋转参数,对图片进行自动旋转,如果存在缩略参数,先进行旋转,再进行缩略[0, 2]


注意事项

  • 如果采用缩略旋转1,可能会导致图片最终的宽度和高度跟指定的参数不符。
  • 进行自适应方向旋转,必须要求原图的宽度和高度必须小于4096.
  • 如果原图是没有旋转参数,加上1o, 2o参数不会对图有影响。


示例

  • 将图缩略成宽度为100,对图片不做自动旋转处理

http://image-demo.img-cn-hangzhou.aliyuncs.com/f.jpg@100w.jpg
  • 将图缩略成宽度为100,对图片进行自动旋转1

http://image-demo.img-cn-hangzhou.aliyuncs.com/f.jpg@100w_2o.jpg

得到的目标效果图宽度是100,高度是127。
  • 将图缩略成宽度为100,对图片进行自动旋转2

http://image-demo.img-cn-hangzhou.aliyuncs.com/f.jpg@100w_1o.jpg

得到的目标效果图宽度是79, 高度是100。

展开
收起
青衫无名 2017-10-23 11:19:38 2631 分享 版权
阿里云 AI 助理回答

阿里云图片处理与优化

问题描述: 用户希望了解如何处理手机拍摄照片中可能含有的旋转参数,以及如何通过特定参数控制图片的自动旋转行为。

操作步骤

  1. 自动旋转控制:要根据图片的Exif信息自动调整图片方向,请在图片处理URL中使用o参数。

    • 不进行自动旋转:o=0
    • 自动旋转(先缩略后旋转):o=1
    • 自动旋转(先旋转后缩略):o=2
  2. 示例应用

    • 不旋转直接缩略:若想将图片宽度缩略至100px且不进行自动旋转,URL格式为:http://image-demo.img-cn-hangzhou.aliyuncs.com/f.jpg@100w.jpg
    • 自动旋转后缩略:若想在自动旋转基础上再将图片宽度缩略至100px,使用o=2(先旋转后缩略),URL格式为:http://image-demo.img-cn-hangzhou.aliyuncs.com/f.jpg@100w_1o.jpg
    • 缩略后自动旋转:若想先缩略图片至100px宽再进行自动旋转,使用o=2(实际应为误写,正确应为o=1表示先缩略后旋转),正确的URL格式应为:http://image-demo.img-cn-hangzhou.aliyuncs.com/f.jpg@100w_1o.jpg

注意事项: - 尺寸限制:进行自适应方向旋转时,原图的宽度和高度必须小于4096像素。 - 缩略影响:选择o=1(先缩略后旋转)可能导致最终图片尺寸与指定的缩略参数不符。 - 无旋转参数:如果原图没有旋转参数,添加o=1o=2不会改变图片方向。

总结: 通过在图片处理URL中加入适当的o参数,您可以灵活控制手机拍摄照片中的旋转参数处理方式,以满足不同场景下的展示需求。注意根据实际情况选择合适的旋转与缩略顺序,并留意尺寸限制与潜在的尺寸变化问题。

有帮助
无帮助
AI 助理回答生成答案可能存在不准确,仅供参考
0 条回答
写回答
取消 提交回答
问答地址: