2011-09-20 2 views
0

Je redimensionne un UIImage en utilisant la bibliothèque MGImageUtilities (en utilisant la méthode imageScaledToFitSize). Après le redimensionnement, si j'imprime la taille de la nouvelle UIImage créée, la taille est comme prévu.Est-ce que UIImageJPEGRepresentation doit agir de la même manière sur tous les appareils iOS?

Après cette première opération, j'envoie l'image compressée (UIImageJPEGRepresentation (scaledImage, 0.7)) à un service Web en utilisant la bibliothèque ASIHTTP.

Avec un iPad, l'image est stockée sur le serveur avec la taille attendue. Quand je cours le même code sur un iPod (4gen) l'image est stockée plus grande que sa version originale ... Avez-vous un indice pour moi?

+1

Si vous avez trouvé une réponse à votre propre question, veuillez soit supprimer la question si elle est trop localisée, soit laisser dans ce cas comme une réponse et accepter cette réponse, plutôt que d'éditer la question. De cette façon, les gens ne viennent pas en supposant qu'il est toujours sans réponse. etc –

+0

fait et merci pour l'indice. – FouZ

Répondre

1

Je me sens bien faire la généralisation suivante: en cours d'exécution sur le même exactement la version iOS, et en utilisant la même UIImage d'entrée exacte, je attendre vous d'obtenir exactement les mêmes octets de UIImageJPEGRepresentation avec la même qualité param on it. *

Lorsque vous dites que l'image stockée est plus grande, vous voulez dire la taille du fichier, non? Pas les dimensions réelles de l'image? Quelle est la "taille attendue" (pourquoi l'attendez-vous)? Êtes-vous sûr les images de la source d'entrée sont identiques dans ce cas?


* NB. Cela dit, le seul contrat d'un encodeur JPEG est qu'il crache un JPEG valide aux dimensions correctes de l'image source. Je ne travaille pas chez Apple. Les composants internes de l'API au-delà de ce qui est documenté sont libres de se comporter de manière aléatoire, en particulier entre les versions, et il est possible qu'il y ait des optimisations par périphérique (etc) dans les encodeurs, comme l'utilisation de différents assemblages des plates-formes de bras, ou des choix d'exécution spécifiques à l'environnement que le codeur effectue.

Questions connexes