Je dois prendre quelques images de la bibliothèque de photos iPhone/iPad depuis mon application et les stocker dans une entité Core Data, et les afficher sous forme de petites images miniatures (48x48 pixels) dans un UITableViewCell, et environ 80x80 pixels dans un détail UIView. J'ai suivi l'exemple d'application Recettes, où ils utilisent UIImageJPEGRepresentation(value, 0.1)
pour convertir en NSData et stocker les octets dans les données de base, et cela ne prend pas beaucoup de place, ce qui est bien. Mais lors de la récupération des données, en utilisant UIImage *uiImage = [[UIImage alloc] initWithData:value];
et l'afficher comme une image miniature avec "Aspect Fit", il semble terrible et granuleuse. J'ai essayé de changer la variable de qualité d'image dans la compression JPEG, mais même le mettre à 0,9 n'aide pas.iOS: stocker des images miniatures dans les données de base
Est-ce normal? Y a-t-il une meilleure façon de compresser l'image qui ne cause pas tant de grainee-ness? Puisque je veux juste montrer une petite vignette, puis une miniature un peu plus grande, je pense que Core Data serait parfait pour stocker cela, car il devrait (en théorie) également prendre en charge iCloud. Mais si ça a l'air terrible, alors je vais devoir reconsidérer.
Merci. J'ai essayé les deux, mais les images ont l'air terribles en toutes circonstances. Cela fonctionne bien sur un iPhone, mais sur un iPad, choisir une image de la bibliothèque est énorme, et peut-être faire un Aspect Fit dans une miniature 48x48 ne semble pas bon. Que recommanderiez-vous comme un algorithme de redimensionnement UIImage? Peut-être que le problème est avec ça. J'utilise ceci: http://vocaro.com/trevor/blog/2009/10/12/resize-a-uiimage-the-right-way/ –