我正在编写一个使用facebook-ios-sdk在Facebook上发布图片的应用程序,但每次我上传一张图片时,它在我的相册中显示的方向都是错误的。以下是我使用的代码,请注意,我考虑了第二行上的方向:
ALAssetRepresentation *rep = [currentAsset defaultRepresentation];
UIImage *img = [UIImage imageWithCGImage:[rep fullResolutionImage] scale:[rep scale] orientation:[rep orientation]];
NSMutableDictionary * params = [NSMutableDictionary dictionaryWithObjectsAndKeys:
img, @"picture",
[pictureCaptionTextView text], @"caption",
nil];
[facebook requestWithMethodName: @"photos.upload"
andParams: params
andHttpMethod: @"POST"
andDelegate: self];
[img release];有人知道这是怎么回事吗?上传的时候要传方向吗?
发布于 2010-11-18 14:37:33
多亏了this link,我终于解决了这个问题。
诀窍是UIImageView会自动正确地旋转图像,但原始数据始终处于默认的相机方向(横向,从上到右),因此需要进行相应的调整。
额外的好处:如果你需要,这个方法可以调整图像的大小。
发布于 2010-11-17 06:12:12
您是否尝试过使用不同的照片,或者每次都在相同的图像上进行测试?有时图像会有EXIF数据,这会告诉图像程序对其进行旋转;这可能是因为facebook正在使用EXIF数据,而您的本地应用程序没有使用它,因此会进行旋转;也可能是您的程序在本地显示了旋转后的图像,而facebook没有。
尝试在几个不同的浏览器中查看您的照片,甚至更好地尝试从facebook下载照片,然后重新上传=]
https://stackoverflow.com/questions/4199519
复制相似问题