Tôi đang xây dựng một ứng dụng mà tôi cần chụp ảnh màn hình của chế độ xem có các phiên bản phụ là các phiên máy ảnh (các phiên AVFoundation). Tôi đã thử mã này:Chụp ảnh màn hình của một UIView nơi các phụ đề của nó là các phiên máy ảnh
CGRect rect = [self.containerView bounds];
UIGraphicsBeginImageContextWithOptions(rect.size,YES,0.0f);
CGContextRef context = UIGraphicsGetCurrentContext();
[self.containerView.layer renderInContext:context];
UIImage *capturedImage = UIGraphicsGetImageFromCurrentImageContext();
UIGraphicsEndImageContext();
nào hiệu quả được cho tôi một UIImage với quan điểm, duy nhất mà các phiên camera có màu đen:
Tôi đã thử phương pháp riêng UIGetScreenImage()
và hoạt động hoàn hảo, nhưng khi Apple không cho phép điều này, tôi không thể sử dụng nó. Tôi cũng đã thử một trong Apple's docs nhưng nó giống nhau. Tôi đã theo dõi vấn đề với các phiên AVFoundation bằng cách sử dụng các lớp. Làm thế nào tôi có thể đạt được điều này? Ứng dụng có chế độ xem vùng chứa với hai chế độ xem bị dừng phiên máy ảnh.
Tôi cũng gặp vấn đề này một thời gian trước. Vấn đề là lớp xem trước máy ảnh (cũng như một số lớp hiển thị tùy chỉnh) đang sử dụng OpenGL. Phương pháp bạn đang sử dụng không hoạt động với các lớp được hỗ trợ GL khi tôi nhớ lại. Tôi sẽ hỏi xung quanh và xem điều này có đúng không. –
@SteveMcFarlin bạn có tìm cách giải quyết vấn đề không, tôi đang gặp phải vấn đề tương tự http://stackoverflow.com/questions/41239254/take-screenshot-during-video-call-screenshot-for-uiview-with-camera -session-sub – Chlebta
Bạn đã tìm thấy giải pháp? – Chlebta