我将照片上传到脸书。 如果照片宽度>高兴,一切都好。 但如果高度>宽度,Facebook显示照片,所以在Facebook帐户照片显示宽度>高度,但(当然)方向是错误的。 我的代码:
- (void)postImageToFaceBook:(UIImage *)imgSource
{
[self login];
currentAPICall = kAPIGraphUserPhotosPost;
NSString *strMessage = @"This is the photo caption";
NSMutableDictionary* photosParams = [NSMutableDictionary dictionaryWithObjectsAndKeys:
imgSource,@"source",
strMessage,@"message",
nil];
NSLog(@"Begin sending photo\n\n");
[_facebook requestWithGraphPath:@"me/photos"
andParams:photosParams
andHttpMethod:@"POST"
andDelegate:self];
}
- (void)login
{
if (![_facebook isSessionValid]) {
NSArray *permissions = [[NSArray alloc] initWithObjects:
@"user_photos",
nil];
[_facebook authorize:permissions];
[permissions release];
}
}
- (void)logout
{
[_facebook logout];
}
#pragma mark - FBRequestDelegate
- (void)request:(FBRequest *)request didLoad:(id)result {
NSLog(@"Request load\n\n");
[self hideHud];
if ([result isKindOfClass:[NSArray class]] && ([result count] > 0)) {
result = [result objectAtIndex:0];
}
switch (currentAPICall) {
case kAPIGraphPhotoData: // step 3
{
NSLog(@"sending to wall\n\n");
// Facebook doesn't allow linking to images on fbcdn.net. So for now use default thumb stored on Picasa
NSString *thumbURL = kDefaultThumbURL;
NSString *imageLink = [NSString stringWithFormat:[result objectForKey:@"link"]];
currentAPICall = kDialogFeedUser;
NSMutableDictionary* dialogParams = [NSMutableDictionary dictionaryWithObjectsAndKeys:
kAppId, @"app_id",
imageLink, @"link",
thumbURL, @"picture",
@"Photo from my iPhone application", @"name",
@"The app", @"caption",
@"it is fun to use", @"description",
nil];
[_facebook dialog:@"feed"
andParams:dialogParams
andDelegate:self];
break;
}
case kAPIGraphUserPhotosPost: // step 2
{
NSLog(@"getting data\n\n");
[self showHudWithMessage:@"Getting image data"];
NSString *imageID = [NSString stringWithFormat:[result objectForKey:@"id"]];
NSLog(@"id of uploaded screen image %@",imageID);
currentAPICall = kAPIGraphPhotoData;
[_facebook requestWithGraphPath:imageID
andDelegate:self];
break;
}
default:
break;
}
}
#pragma mark - FBDialogDelegate
- (void)dialogDidComplete:(FBDialog *)dialog {
switch (currentAPICall) {
case kDialogFeedUser:
{
NSLog(@"Feed published successfully.");
}
break;
default:
break;
}
}
在postImageToFaceBook中,我检查图像大小是完全没有我的图像宽度<高度。宽度约为2200,高度为3300,facebook专辑图像的宽度为>高度。
提前谢谢!
答案 0 :(得分:0)
其实facebook没有对Image做任何事情。 iPhone在纵向模式下显示所有图像,它处于横向模式。所以请检查系统上的图像。
由于
答案 1 :(得分:0)
我解决了这个问题。 此行为是当图像宽度约为2000像素时,但如果宽度小于1000像素,则一切正常。