我正在编写一个使用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];
有谁知道发生了什么事?我上传时应该通过方向吗?
答案 0 :(得分:0)
您是否尝试过使用不同的照片,或者每次都在使用相同的图像进行测试?有时图像会有EXIF数据,告诉图像程序旋转它;它可能是Facebook正在尊重您的本地应用程序不是因此旋转的EXIF数据,或者可能是本地程序正在显示它已旋转且Facebook不是。
尝试在几种不同的浏览器中查看您的照片,甚至可以尝试从Facebook下载照片,然后重新上传=]
答案 1 :(得分:0)
感谢this link,我终于明白了这一点。
诀窍在于UIImageView会自动正确旋转图像,但原始数据始终处于默认的相机方向(横向,右上),因此您需要进行相应的调整。
奖励:如果需要,此方法会调整图像大小。