- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我正在 iOS 5 中开发 iPhone 应用程序。我使用 UIImagePickerController 让用户选择图像,并且我需要知道图像的方向。
当选择图像时,我有 UIImagePickerControllerDelegate 方法的以下代码:
-(void) imagePickerController:(UIImagePickerController *)picker didFinishPickingMediaWithInfo:(NSDictionary *)info{
NSString *mediaType = [info objectForKey: UIImagePickerControllerMediaType];
UIImage *originalImage = nil;
UIImage *editedImage = nil;
// Handle a still image picked from a photo album
if (CFStringCompare ((__bridge CFStringRef) mediaType, kUTTypeImage, 0)
== kCFCompareEqualTo) {
editedImage = (UIImage *)[info objectForKey:UIImagePickerControllerEditedImage];
originalImage = (UIImage *)[info objectForKey:UIImagePickerControllerOriginalImage];
NSLog(@"editedImage.imageOrientation = %d", editedImage.imageOrientation);
NSLog(@"originalImage.imageOrientation = %d", originalImage.imageOrientation);
imageToUse = nil;
if (editedImage)
imageToUse = editedImage;
else
imageToUse = originalImage;
}
}
有人知道为什么 NSLog 指令中的 imageOrientation 值总是 0 吗?我尝试过横向和纵向图像,结果总是相同的。
所选图像不为零,因为我在 UIImageView 中显示它没有问题。
谢谢。
最佳答案
图像方向不指示图像是纵向还是横向格式。
方向指定图像数据在显示之前如何有效地转换/旋转。通常,例如,无论相机当时的方向如何,相机拍摄的图像的数据格式都是相同的。也就是说,以纵向形式拍摄的图像可以以其“原始”形式显示为旋转的横向图像(当然这取决于相机)。
为了克服这个问题,图像元数据会根据拍摄图像时相机方向的信息进行更新。有了这些信息,UIUmage 就可以根据元数据旋转图像,以正确的方式向上显示图像。
如果您需要确定图像的最终格式是纵向还是横向,只需比较宽度和高度即可:)
蒂姆
关于iphone - UIImage imageOrientation 返回 0,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8209715/
在我的 iOS 应用程序中,我想在 UIImage 上应用滤镜 CIGaussianBlur,当它获得具有较大高度的图像时,它会旋转图像 CIContext *context = [CICont
我正在使用正在播放电影文件的 GPUImageMovie,该文件是在 iOS 设备上录制的。 但是,当 GPUImageMovie 播放它时,它的方向错误,因此视频不会旋转以正确显示。 如何让它尊重它
我正在 iOS 5 中开发 iPhone 应用程序。我使用 UIImagePickerController 让用户选择图像,并且我需要知道图像的方向。 当选择图像时,我有 UIImagePickerC
我正在使用 UImagePickerController 从相机捕获图像。 在 didFinishPickingImage 委托(delegate)方法中,我得到的图像的 imageOrientati
我是一名优秀的程序员,十分优秀!