2012-09-11 4 views
3

Mon application prend des captures d'écran de pages Web entières. Quand il enregistre dans l'album photo, la qualité d'image souffre un peu et le texte sur l'image fixe est floue et difficile à lire. J'ai trouvé cette solution qui promet d'avoir une meilleure qualité lors de l'enregistrement sur Photo Album, mais elle ne semble toujours pas parfaitement acceptable. Existe-t-il un meilleur moyen de sauvegarder UIImage dans un album photo avec une perte de qualité minimale? Merci.Enregistrement de UIImage sans perte de qualité

UIImage* img = [UIImage imageWithCGImage:screenshotImage.CGImage]; 
NSData* imdata = UIImagePNGRepresentation (img); 
UIImage* image = [UIImage imageWithData:imdata]; // wrap UIImage around PNG representation 

UIImageWriteToSavedPhotosAlbum(image, self, @selector(image:didFinishSavingWithError:contextInfo:), nil); 
+0

Avez-vous vérifié la qualité de 'img' et' image' (probablement affiché en mode image)? –

+0

http://developer.apple.com/library/ios/#qa/qa1703/_index.html –

+0

où perdez-vous la qualité? S'il vous plaît, présentez une capture d'écran comment vous voulez dire _lose quality_. – holex

Répondre

0

En plus d'examiner les paramètres de qualité d'image, vous devez être au courant que les formats d'image sont les meilleurs pour stocker différents types d'images. Je préfère le JPG pour les images du monde réel comme celles prises avec un appareil photo. JPEG réussit mieux à conserver une qualité d'image élevée tout en obtenant une bonne compression.

Si vous prenez une capture d'écran où beaucoup de parties de l'image sont de la même couleur (comme cette page web ou votre éditeur de programmation), alors je préfère utiliser le format PNG. PNG sauvegardera l'image sans créer beaucoup d'artefacts sales qui apparaissent souvent en JPEG mais qui atteindra quand même un bon taux de compression pour ces types d'images.

Les raisons de ce qui précède ont à voir avec les algorithmes de compression que chacun utilise (JPEG est FFT, PNG est DEFLATE). Essayez de changer le type d'image ainsi que les paramètres de qualité et voyez si cela fait une différence.

+0

Merci. Laissez-moi faire une enquête et revenir avec des résultats. – Vad

+1

UIGraphicsBeginImageContextWithOptions (webView.scrollView.contentSize, NO, 0); m'a donné des résultats très satisfaisants. – Vad

Questions connexes