【问题标题】:Want fixed orientation, but the UIImage autoratate想要固定方向,但 UIImage 自动
【发布时间】:2017-12-22 18:10:55
【问题描述】:

我对 iOS 设计中的 UIImage 方向感到困惑。 我只是使用故事板将我的 iPhone 拍摄的图像加载到 UIImageView 中,并希望它在模拟器中显示完全相同。但是,它会旋转。 (我选择内容模式适合方面)

我尝试使用从互联网上下载的其他图像,它们都可以正常工作,但一张是由相机拍摄的。

有人知道为什么会这样吗?

编辑:

我尝试打印出我的示例的 imageOrientation 属性。它显示 0,这是 .up 的默认值。

图片似乎没有旋转,但在故事板和模拟器中看起来不同。

示例如下:

【问题讨论】:

  • 当你从相机拍照时它会自动旋转?
  • 不,它不会在相机视图中旋转,只有加载到 UIImageView 后才会旋转

标签: ios iphone swift uiimageview uiimage


【解决方案1】:

UIImage是自动旋转的,开发者应该纠正它。

使用以下函数以正确的方向获取图像。

UIImage *imageToDisplay = [UIImage imageWithCGImage:[originalImage CGImage] scale:[originalImage scale] orientation: UIImageOrientationUp];

【讨论】:

    【解决方案2】:

    一个 UIImage 有一个属性 imageOrientation,它指示 UIImageView 和其他 UIImage 消费者旋转原始图像数据。这个标志很有可能被保存到上传的 jpeg 图像中的默认数据中,但是您用来查看它的程序不支持该标志。尝试从 UIImage Picker Controller 获取图像时更改方向。

    要在上传时旋转 UIImage 以正确显示,您可以使用类别。检查目标 C 中的@Anomie's ans。如果您使用的是 Swift,则可以使用相同的逻辑为 UIImage 创建扩展。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2011-02-20
      • 2015-06-01
      相关资源
      最近更新 更多