Comment prendre un instantané/capture d'écran du contrôle UIWebView
?Prendre une capture d'écran/capture d'écran de UIWebView
2
A
Répondre
4
Cette utilisation:
UIGraphicsBeginImageContext(rect.size);
[webView.layer renderInContext:UIGraphicsGetCurrentContext()];
UIImage *viewImage = UIGraphicsGetImageFromCurrentImageContext();
UIGraphicsEndImageContext();
7
La réponse acceptée est correcte, mais la capture d'écran n'est pas dans la résolution de la rétine. L'utilisation de UIGraphicsBeginImageContextWithOptions
et de son paramètre d'échelle 0.0f le fait capturer en résolution native.
UIWindow *keyWindow = [[UIApplication sharedApplication] keyWindow];
CGRect rect = [keyWindow bounds];
UIGraphicsBeginImageContextWithOptions(rect.size,YES,0.0f);
CGContextRef context = UIGraphicsGetCurrentContext();
[keyWindow.layer renderInContext:context];
UIImage *capturedScreen = UIGraphicsGetImageFromCurrentImageContext();
UIGraphicsEndImageContext();
3
utiliser ce code pour prendre une capture d'écran et l'enregistrer dans la bibliothèque
UIGraphicsBeginImageContext(self.view.bounds.size);
[self.view.layer renderInContext:UIGraphicsGetCurrentContext()];
UIImage *viewImage = UIGraphicsGetImageFromCurrentImageContext();
UIGraphicsEndImageContext();
UIImageWriteToSavedPhotosAlbum(viewImage, self, nil, nil);
vous pouvez changer la capture d'écran en prenant part en changeant la
UIGraphicsBeginImageContext(self.view.bounds.size);
à votre valeur respective try il vous aidera
Lorsque vous prenez une capture d'écran d'un webview, il ne prend que des écrans chaud de la zone visible. La zone masquée n'est pas prise en compte. –