Les Images de tournage de côté/à l'envers après avoir téléchargé via PhoneGap (iOS)
Pas sûr de ce qui serait à l'origine de ce, mais quand je l'ai télécharger quelques images sur mon serveur distant via transfert de fichiers()
, les images parfois se manifester soit sur le côté ou à l'envers. Cependant, quand j'ai vue les images en local sur l'iPhone, ils sont placés dans le bon sens.
Par exemple, lorsque je sélectionne une image de ce à télécharger: http://sharefa.st/view/WBe2QNSK8r8z
Il va tourner comme ceci: http://sharefa.st/view/EWdW1Z4G8r8z
Je suis en utilisant le chemin d'accès local pour transférer le fichier, donc je ne comprends pas pourquoi l'image faire pivoter de façon "aléatoire".
Voici ma fonction de chargement:
function uploadPhoto() {
var options = new FileUploadOptions();
options.fileKey = 'file';
options.fileName = imgURI.substr(imgURI.lastIndexOf('/')+1);
options.mimeType = 'image/jpeg';
var params = new Object();
if(logged_in == true) {
params.unique_id = app_unique_id;
params.secret_key = user_secret_key;
}
options.params = params;
loadingStart();
var ft = new FileTransfer();
ft.upload(imgURI, 'http://' + remote_server + '/API/upload', uploadDetails, fail, options);
}
imgURI
valeur ressemble à ceci:
file://localhost/var/mobile/Applications/<snip>/tmp/photo_015.jpg
Tout insight est apprécié.
- J'ai également le même problème sur iOS, je vais creuser dans bientôt.
Vous devez vous connecter pour publier un commentaire.
Grâce à Humanoidism en soulignant que la question était en fait avec l'iPhone, et la façon dont il stockées les images, j'ai été en mesure de comprendre une solutuion.
De télécharger des photos dans l'orientation correcte, vous devez ajouter le
correctOrientation
paramètre dans le tableau d'options dansgetPicture()
, ettrue
.Voici deux exemples:
correctOrientation
àtrue
mais l'image est retournée avec la caméra frontale sur android 🙁Le problème n'est pas PhoneGap mais l'iPhone. L'iPhone a été conçu pour être utilisé dans une large lentille de la caméra. Faites pivoter le téléphone lors de la prise de photos ou de capturer de la vidéo si vous avez l'intention de les afficher sur le bureau. Votre téléphone affichera correctement, parce qu'il "sait" comment vous avez pris, mais l'ordinateur que vous êtes en train de consulter sur doesnt.
Ce que vous pourriez faire pour éviter cela est de faire pivoter l'image avant de le télécharger. Ce n'est pas une solution recommandée mais au moins les gens sur les ordinateurs de bureau sera en mesure de le voir. Si, lors de leur visualisation sur iPhone ils vont être tourné, peut - être une case pour les appareils mobiles si ou de ne pas faire pivoter l'image peut venir dans maniable mais, encore une fois, n'est pas recommandée.