gpt4 book ai didi

ios - 如何覆盖 iOS 中图像的自动重新定位?

转载 作者:行者123 更新时间:2023-11-29 02:55:32 25 4
gpt4 key购买 nike

iOS 7、Xcode 5

我正在将照片加载到 UIImageView 中,并注意到它们会自动重新定向以显示“正面朝上”。您可以用手机拍摄 4 张照片,每次将手机旋转 90 度,然后在手机上查看图像,您可以看到相同的效果。

问题是我试图在加载图像后实现一些旋转,但效果错误。

例如,我有一张用 iPhone 垂直拍摄的照片(主页按钮位于底部)。当我将图像复制到 UIImageView 中时,它会重新定向为面朝上(没有我的代码)。我不想要这个。当我制作另一个副本并应用旋转时,旋转似乎与原始 tmp 图像相反!我想要得到的是一个图像,它是镜子。

这是我的代码:

-(void)imagePickerController:(UIImagePickerController *)picker didFinishPickingMediaWithInfo:(NSDictionary *)info{
[self dismissViewControllerAnimated:YES completion:nil];
imageTmp=info[UIImagePickerControllerOriginalImage];
NSLog(@"original orientation:%li",imageTmp.imageOrientation);
self.imageA.image=imageTmp;
self.imageB.image=[UIImage imageWithCGImage:[imageTmp CGImage]
scale:1.0
orientation:UIImageOrientationUpMirrored];
}

enter image description here

在上面的屏幕截图中,左侧的图像是用手机垂直拍摄的。然后我将它加载到 UIImage 中。接下来,我将它复制到 UIImageView“imageA”中。最后,我将“imageTmp”转换并复制到另一个 UIImageView“imageB”中。请注意,左图是自动重新定向的(我不想要这个!),而右图是根据实际横向版本进行转换的。

如何防止自动重新定向?

最佳答案

通过从 CGImage 创建一个新的 UIImage 并且不指定方向,您可以获得没有任何隐含旋转的图像:

naturalImage = [UIImage imageWithCGImage:[originalImage CGImage]];

请注意,正如我在上面的评论中提到的,这实际上总是 LandscapeRight(我想,也许是 LandscapeLeft,我懒得记住哪个是哪个),因为这就是相机记录图像的方式.

关于ios - 如何覆盖 iOS 中图像的自动重新定位?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23943616/

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