gpt4 book ai didi

iOS:自定义相机如何始终以正确的方向保存图像?

转载 作者:可可西里 更新时间:2023-11-01 05:43:02 24 4
gpt4 key购买 nike

我目前正在使用 IOS 实现自定义相机。我希望相机始终以正确的方向将图像保存到相册,就像官方 iOS 相机一样:无论您以什么方向握住相机,您总能看到照片以正确的方向保存。我检查了很多源代码,他们似乎用以下内容相当随意地保存图像:

var image  = UIImage(cgImage: cgImageRef, scale: 1.0, orientation: UIImageOrientation.right)

但这仅在设备直立时有效谁能提供任何建议?

我也试过获取方向

let uiorientation = UIApplication.shared.statusBarOrientation

但当屏幕纵向锁定时,它总是返回纵向。

最佳答案

当您获得 UIImage 对象时,您必须更新图像旋转。将从图像选择器获取的图像传递给此方法

swift

func getNormalizedImage(rawImage: UIImage) -> UIImage {

if (rawImage.imageOrientation == .up) {
return rawImage
}

UIGraphicsBeginImageContextWithOptions(rawImage.size, false, rawImage.scale)
rawImage.draw(in: CGRect(x:0, y:0, width:rawImage.size.width, height:rawImage.size.height))

let normalizedImage = UIGraphicsGetImageFromCurrentImageContext()
UIGraphicsEndImageContext()

return normalizedImage!
}

objective-C

+(UIImage *)getNormalizedImage:(UIImage *)rawImage {

if(rawImage.imageOrientation == UIImageOrientationUp)
return rawImage;

UIGraphicsBeginImageContextWithOptions(rawImage.size, NO, rawImage.scale);
[rawImage drawInRect:(CGRect){0, 0, rawImage.size}];
UIImage *normalizedImage = UIGraphicsGetImageFromCurrentImageContext();
UIGraphicsEndImageContext();

return normalizedImage;
}

关于iOS:自定义相机如何始终以正确的方向保存图像?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43649140/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com