Ben UIGraphicsBeginImageContextWithOptions kullanarak retina çözünürlükte (960x640 veya 2048x1536) bir yakalama UIView/UIWindow ihtiyaç tahmin ve daha sonra ya iPad 3 onun ölçek parametresi 0.0f o doğal çözünürlükte iPhone 4 için (retina yakalamak yapar kurmak ve).
Bu kod doğal çözünürlük Bu seferki tam ekran (anahtar pencere)
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();
Bu% 95 kalitesinde ile jpg formatında UIImage kaydeder için aynısını yapar
CGRect rect = [captureView bounds];
UIGraphicsBeginImageContextWithOptions(rect.size,YES,0.0f);
CGContextRef context = UIGraphicsGetCurrentContext();
[captureView.layer renderInContext:context];
UIImage *capturedImage = UIGraphicsGetImageFromCurrentImageContext();
UIGraphicsEndImageContext();
daki UIView yakalamak uygulamasının doküman klasörü
NSString *imagePath = [NSHomeDirectory() stringByAppendingPathComponent:[NSString stringWithFormat:@"Documents/capturedImage.jpg"]];
[UIImageJPEGRepresentation(capturedImage, 0.95) writeToFile:imagePath atomically:YES];
Ayrıca bu UIGraphicsBeginImageContextWithOptions (view.bounds.size, view.opaque, 0.0) ile de deneyebilirsiniz; –
teşekkürler ama hiçbir şey değişmez! –
"Düşük kalite" derken, tam olarak ne demek istiyorsun? Görüntü ekranınkiyle aynı görünmüyor mu? Retina ekranı kullanıyor musunuz, ancak yakalanan görüntü keskin değil mi? Görüntü grenli mi yoksa çarpık mı? Tam olarak yanlış olan nedir? – TigerCoding