2010-11-16 7 views
1

J'écris une application qui publie des photos sur Facebook en utilisant facebook-ios-sdk, mais chaque fois que je télécharge une photo, elle est affichée avec la mauvaise orientation sur mon album. Voici le code que je utilise, notez que je compte pour l'orientation sur la deuxième ligne:Télécharger des photos sur 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]; 

Est-ce que quelqu'un sait ce qui se passe? Dois-je passer l'orientation lors du téléchargement?

Répondre

0

Je figure enfin ceci grâce à this link. L'astuce est que UIImageView fait automatiquement pivoter l'image correctement mais les données brutes sont toujours sur l'orientation de la caméra par défaut (paysage, haut à droite), vous devez donc ajuster en conséquence. Bonus: cette méthode redimensionne l'image si vous en avez besoin.

0

Avez-vous essayé d'utiliser différentes photos, ou testez-vous les mêmes images à chaque fois? Parfois, une image aura des données EXIF ​​qui dira aux programmes d'image de la faire pivoter; Il pourrait s'agir soit de Facebook qui respecte les données EXIF ​​que votre application locale n'est pas et donc de rotation ou il se pourrait que votre programme affiche localement la rotation et Facebook ne l'est pas.

Essayez d'afficher votre photo dans quelques navigateurs différents, et même mieux essayer de télécharger une photo de facebook et puis re-téléchargeant =]

+0

Eh bien, j'ai affiché l'image sur un UIImageView et il apparaît correctement. Cela ne veut-il pas dire qu'il a la bonne orientation? – Rafael

+0

Je ne sais vraiment pas; ça pourrait ou non. UIImageView peut simplement le faire pivoter pour vous en fonction des données EXIF; Je recommande vraiment d'essayer une image que vous avez téléchargée de Facebook, car c'est presque garanti d'avoir la bonne orientation. Ensuite, transférez-le à nouveau et voyez s'il pivote. – taxilian

+0

J'ai donc utilisé le code de DemoApp qui utilise une image d'une URL et cela a fonctionné. J'ai aussi testé avec une image locale et cela a fonctionné aussi. – Rafael

Questions connexes