问题标签 [uiimageorientation]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
19 回答
75438 浏览

ios - How to flip UIImage horizontally?

How to flip the UIImage horizontally, I found UIImageOrientationUpMirrored enumeration value in the UIImage class reference, how to make use of this property to flip UIImage.

0 投票
3 回答
3590 浏览

iphone - 加载的 UIImage 的左/右的 UIImageOrientation 不正确?

我正在加载标有任意 EXIF 方向数据(8 个方向之一)的 JPG。我从这里下载了八个示例图像文件(链接自这篇博文)。

图 8 代表 EXIF 标签 8,顺时针旋转 90 度。这可以通过在诸如画笔之类的哑查看器中查看此图像来确认。

但是,当我将它加载到我的 iOS 项目的 UIImage 中并调用-imageOrientation它时,我得到UIImageOrientationLeft. 根据这里的文档

UIImageOrientationLeft

图像逆时针旋转 90 度,如此处所示。

...这不是底层图像的样子。

EXIF 方向 6 正好相反,我希望它显示为左,但它显示为右。

这里的文档错了吗?我错过了一些明显的东西吗?谢谢。

0 投票
3 回答
666 浏览

iphone - 动画中的 UIImage 方向

我想改变我的UIImage方向。我已经完成了这个:

它工作正常!但我有下一个问题:我想播放UIImageView改变图像方向的动画!但它播放没有改变!我得到了方向并且它被改变了 - 但图像显示不像。

有人可以建议吗?

是的,看起来像动画忽略图像方向。

谢谢,

0 投票
1 回答
1279 浏览

ios - CoreGraphics 和 CGI​​mageCreateWithImageInRect 的方向和原点

我正在使用CGImageCreateWithImageInRect相机裁剪图像。iPhone(和照片图像)的方向是人像,我的理解是CGImageCreateWithImageInRect,当以人像模式握住手机时,原点应该位于手机的左下角。换句话说,原点应该从坐标 0,480 开始,并且随着您向左上角上升,y 增量,并且 x 保持不变。

然而,令我惊讶的是,我必须移动 x 坐标,以使以下代码正常工作。x 原点必须从右上角开始,y 保持不变。查看其他CGImageCreateWithImageInRect在线和此处的 SO 用法,我没有看到任何代码可以缓解我遇到的问题,所以我很难理解为什么以下代码仅在原点从 0,0 移动到 320 时才有效, 0。

任何人都可以添加一些见解吗?谢谢!

}

0 投票
1 回答
2422 浏览

objective-c - 使用 ALAssetOrientation 和 UIImageOrientation 确定正确方向的问题

我在 iPhone 上正确定位图像时遇到问题。我正在使用 AssetLibrary 类访问图像。

所有,我想做的是正确定位图像以进行显示,不幸的是,对于一些以纵向模式拍摄的图像,它们的方向没有意义。

在框架调用的块中,我正在对 iPhone 相机在“向上”方向拍摄的照片进行以下调用:

我使用 orient 值来旋转图像,使其看起来“向上”。不幸的是,如果我有一张以横向模式拍摄的图像,则相同的代码将不起作用,因为方向不正确。

我尝试使用 scale:orientation: 重载使用 orient 作为方向参数来实例化 timg,它所做的只是初始化设置方向的图像,但不正确地旋转图像。

这似乎是不确定的,这些调用为什么会返回不同的结果:

对你的帮助表示感谢。

谢谢,威尔

0 投票
1 回答
3203 浏览

iphone - 横向模式下使用 UIImageOrientation 正确保存 UIImage

我正在接收我UIImage的 'sAVCaptureSession并将它们设置为UIImageView's。纵向模式将图像设置为正确的方向,但是一旦我使用横向模式,图像就会顺时针旋转 90 度。

我做了一些研究,发现我可以使用UIImageOrientation这种方法来解决我的问题:

但我不明白怎么做。如果我查看UIImageOrientation所有图像,纵向和横向模式下的值始终为 3 ( NSLog(@"%d",UIImageOrientation))。我很困惑这对我有什么帮助。我错过了什么吗?

这是方向代码:

shouldAutorotateToInterfaceOrientation 返回 YES。

0 投票
3 回答
8138 浏览

iphone - 使用丢失的 EXIF 标签更正存储在文档中的 UIImage 的方向

关于使用 iPad 相机拍摄的 UIImages 的方向,我在 SO 上遇到了与其他人类似的问题。本质上,我正在使用 iPad 上的相机拍摄 UIImage。然后当我显示它时,它已经旋转了 90 度。

通过阅读其他问题和答案,我现在了解到,当相机拍照时,它会存储一个确定照片方向的 EXIF 标签。这通常会允许所有 Mac 和 iOS 应用程序读取此方向数据。但是,我将我的图像作为 NSData 存储在文档目录中(已通过 UIImagePNGRepresentation 转换并将 URL 保存在核心数据中。我假设这样做的过程会导致我丢失方向 EXIF 标记,因此在检索它时显示不正确。

任何人都可以想办法纠正这个问题吗?

欢迎大家提出想法、建议和指点。

非常感谢

0 投票
1 回答
599 浏览

ios - 更改设备方向时图像被拉伸,模式设置为重绘

我有一个UIImageView嵌入UIScrollView...image加载时zoom scale设置为可见的最大数量image,但是当设备旋转时,外观不会保持并最终出现拉伸。视图模式设置为redraw

}

0 投票
1 回答
405 浏览

objective-c - 如何获取服务器上上传的图像是横向还是纵向模式 iphone

我是目标 c 的新手。

我有两个问题。

我想做的是显示像 iphone galary 这样的图像。我正在使用滚动视频。我尝试在许多帖子中使用 fgalary 和其他提到的 galary,但它们不符合我的要求,因为我必须在其中进行许多自定义。

//修改评论

我想要做的是以单独的帧大小显示以移植模式拍摄的图像,如 CGRectMake(0, 0, 243, 314),如果图像是在横向模式下拍摄的,则以单独的帧显示,如 CGRectMake(0, 0, 300, 200)..所有图像都上传到服务器上,就像之前我在同一帧中显示所有图像一样,所以图像在显示时看起来会拉伸,所以我就是这样做的。

我什至尝试从服务器获取图像加载的高度和宽度,如下面的代码所示,但这甚至不适用于从服务器加载的图像。请建议我一些更好的方法来解决我的问题。

我的代码

0 投票
1 回答
854 浏览

ios - 在不支持旋转的 iOS 应用中旋转 UIImageView

我有一个硬编码的应用程序仅支持 1 个方向,纵向。肖像是通过项目设置设置的。

在这个视图控制器中有几个视图、按钮、标签和其他标准的 iOS 控件。对于此视图控制器中的所有控件,期望的行为是当用户旋转 iOS 设备时,应用程序中的任何内容都不会旋转。

然而,在所有上述视图之下,作为“背景”的是嵌入在 UIScrollView 中的 UIImageView。这是最底部的视图。在任何时候,用户都可以通过启动照片选择器的按钮来更改此背景。UIImageView 嵌入在 UIScrollView 中,因为所需的行为是允许捏缩放背景图像。

虽然应用程序不支持旋转,但我希望 ImageView 的内容在加载时始终正确定向。

例如- 请记住,唯一支持的方向是 UIInterfaceOrientationPortrait,用户启动应用程序,将 iOS 设备旋转到 LandScape 位置。在纵向用户选择新的背景图像时。预期的行为将是根据当前方向选择要定向和纵横比正确的图像。

本质上,我正在寻找该背景图像在被选中时始终对地球具有“重力”。如果用户选择新图像后旋转 iOS 设备,则背景图像不会旋转。只有在最初选择图像时,它才会正确定位。

我可以使用 CGAffineTransformMakeRotation 旋转图像,但是通过捏合放大会表现出不良行为,因为图像本身的像素并没有真正改变方向。

我想我可能需要在用户选择图像时实际创建一个新图像,类似于...

对于这个问题,我没有看到任何简单的解决方案。可能我忽略了一些简单的事情?

跟进这是似乎需要的代码。考虑到当前方向,以及启动方向。