Erreur iOS UIImageJPEGRepresentation: Pas un fichier JPEG: commence par 0xff 0xd9
Je suis en train d'écrire une .fichier jpg pour mon application répertoire Documents comme ceci:
NSData *img = UIImageJPEGRepresentation(myUIImage, 1.0);
BOOL retValue = [img writeToFile:myFilePath atomically:YES];
Plus tard, je charge l'image en arrière dans une UIImage à l'aide de:
UIImage *myImage = [UIImage imageWithContentsOfFile:path];
Je sais que ça fonctionne parce que je peux dessiner l'image dans une cellule de tableau et c'est très bien. Maintenant, si j'essaie d'utiliser UIImageJPEGRepresentation(myImage, 1.0), le débogueur affiche ces lignes:
<Error>: Not a JPEG file: starts with 0xff 0xd9
<Error>: Application transferred too few scanlines
Et la fonction retourne nil. Quelqu'un a une idée de pourquoi cela arriverait? Je n'ai rien fait pour manipuler les UIImage de données après qu'il a été chargé. J'ai juste fourni la UIImage à une image vue dans une cellule. J'ai mis l'image à afficher les propriétés telles que toutes les images dans les cellules de la ligne et sont de la même taille, mais je ne pense pas que cela devrait rien avoir à faire avec le fait d'être en mesure de convertir les UIImage à NSData.
source d'informationauteur viperacr99
Vous devez vous connecter pour publier un commentaire.
Les images n'étaient pas corrompus, j'ai été en mesure de les afficher correctement. La question est peut-être un bug dans UIImage, ou peut-être la documentation devrait être plus clair sur l'utilisation de imageWithContentsOfFile:.
J'ai été en mesure d'éliminer le message d'erreur en changeant
à