【问题标题】:transforming UIImage to LandscapeRight in iOS在 iOS 中将 UIImage 转换为 LandscapeRight
【发布时间】:2012-11-18 10:13:55
【问题描述】:

在我的应用程序中,我将库中的不同图像添加到数组中,然后将它们转换为幻灯片放映。我能够做到这一点,但我面临的唯一问题是不同图像的方向。我想要的是,当用户从库中选择图片时,在插入数组之前,应该检查它的方向,如果它不是横向右侧,它应该旋转到横向右侧。我怎样才能做到这一点?此外,旋转后的图像应为纵横比填充,即旋转后的图像两侧不应有黑边。

附:我想旋转 UIImage,而不是 UIImageView,因为有一些方法可以旋转 UIImageView,但它们不符合我的要求。

【问题讨论】:

    标签: ios xcode uiimage landscape-portrait uiimageorientation


    【解决方案1】:

    您可以像这样简单地旋转图像:

    UIImage *newImage = [[UIImage alloc] initWithCGImage: myImage.CGImage
                                                     scale: 1.0
                                               orientation: UIImageOrientationRight];
    

    这应该给你一个指针,然后你可以通过比较它的大小来决定是否旋转图像:

    if (myImage.size.width < myImage.size.height) {
       // its portrait, do the rotation
    }
    

    【讨论】:

    • 什么是最合适的旋转方式?
    • UIImage *newImage = [[UIImage alloc] initWithCGImage: myImage.CGImage scale: 1.0orientation: UIImageOrientationRight];如上所述是旋转图像的非常有效的方法! (只需指定您希望它在方向上旋转的方向:参数)
    • 好的,旋转工作正常,但这种情况存在问题。如果(myImage.size.width
    猜你喜欢
    • 1970-01-01
    • 2013-11-13
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-11-24
    • 1970-01-01
    • 2021-03-17
    相关资源
    最近更新 更多