Ok, donc je prends une capture d'écran d'une photo que j'ai prise avec mon appareil photo sur l'iPhone. Je mets la photo de la caméra dans UIImageView et prenez une capture d'écran à l'aide de ce genre de code (c'est de http://www.skylarcantu.com/blog/2009/10/16/saving-a-view-as-an-image/) ...UIGraphicsGetImageFromCurrentImageContext donne une image de mauvaise qualité/basse résolution, comment puis-je aller mieux?
- (void)takeScreenshot {
UIWindow *theScreen = [[UIApplication sharedApplication].windows objectAtIndex:0];
UIGraphicsBeginImageContext(theScreen.frame.size);
[[theScreen layer] renderInContext:UIGraphicsGetCurrentContext()];
UIImage *screenshot = UIGraphicsGetImageFromCurrentImageContext();
UIGraphicsEndImageContext();
[self doSomethingWith:screenshot];
}
Je l'ai travaillé comme je veux, mais la qualité d'image de la capture d'écran est beaucoup pire que l'image que je prends avec mon appareil photo. Y a-t-il un moyen de surmonter cela? Je suppose que c'est parce que cela prend une capture d'écran qui capture la résolution de l'écran de l'iPhone plutôt que la résolution de l'appareil photo - peut-être ?!
Toutes les suggestions seraient grandes :-)
Ouais c'est exactement exact, puis-je superposer quelque chose sans perdre la résolution? – user157733
Non, j'ai peur que ce soit plus compliqué. Vous devrez appeler UIGraphicsBeginImageContext() avec la taille de l'image de votre caméra d'origine, faire le drawAtPoint, puis dessiner d'autres choses dans le même contexte. Ensuite, vous appellerez UIGraphicsGetImageFromCurrentImageContext() pour obtenir une nouvelle image composite. –
Ok merci pour les heads-up, je vais regarder dans ça. Ces choses ne sont jamais aussi faciles que je le pense! – user157733