From 9d90398c96682c1b6d4adf0951c0da934aa9046b Mon Sep 17 00:00:00 2001 From: Ronneymeow Date: Fri, 2 Aug 2013 15:34:18 +0800 Subject: [PATCH 1/2] glscreenshot added. --- Classes/UIView+MLScreenshot.h | 1 + Classes/UIView+MLScreenshot.m | 21 +++++++++++++++++++++ 2 files changed, 22 insertions(+) diff --git a/Classes/UIView+MLScreenshot.h b/Classes/UIView+MLScreenshot.h index 7b8ef98..cd61768 100644 --- a/Classes/UIView+MLScreenshot.h +++ b/Classes/UIView+MLScreenshot.h @@ -17,5 +17,6 @@ @interface UIView (MLScreenshot) - (UIImage *)screenshot; +- (UIImage *)glScreenshot; @end diff --git a/Classes/UIView+MLScreenshot.m b/Classes/UIView+MLScreenshot.m index 1434b68..a86756e 100644 --- a/Classes/UIView+MLScreenshot.m +++ b/Classes/UIView+MLScreenshot.m @@ -41,6 +41,27 @@ - (UIImage *)screenshot return screenshot; } +- (UIImage *)glScreenshot +{ + // Draw OpenGL data to an image context + + UIGraphicsBeginImageContext(self.frame.size); + int width = self.frame.size.width; + int height = self.frame.size.height; + unsigned char buffer[width * height * 4]; + + CGContextRef context = UIGraphicsGetCurrentContext(); + glReadPixels(0, 0, width, height, GL_RGBA, GL_UNSIGNED_BYTE, &buffer); + CGDataProviderRef dRef = CGDataProviderCreateWithData(NULL, &buffer, width * height * 4, NULL); + CGImageRef ref = CGImageCreate(width,height,8,32,width*4, CGColorSpaceCreateDeviceRGB(), kCGImageAlphaLast, dRef, NULL, true, kCGRenderingIntentDefault); + + CGContextScaleCTM(context, 1.0, -1.0); + CGContextTranslateCTM(context, 0, -self.frame.size.height); + UIImage *im = [[UIImage alloc] initWithCGImage:ref]; + UIGraphicsEndImageContext(); + return im; +} + - (BOOL)isMapViewInSubviews:(NSArray *)subviews { for(id view in subviews) From 542e5879b4f10fbcb3c1d2e3610e310963974dee Mon Sep 17 00:00:00 2001 From: Ronneymeow Date: Fri, 2 Aug 2013 15:36:09 +0800 Subject: [PATCH 2/2] ignore updated. --- .gitignore | 18 ++++++++++++++++++ 1 file changed, 18 insertions(+) create mode 100644 .gitignore diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..89c499e --- /dev/null +++ b/.gitignore @@ -0,0 +1,18 @@ +# Xcode +.DS_Store +build/ +*.pbxuser +!default.pbxuser +*.mode1v3 +!default.mode1v3 +*.mode2v3 +!default.mode2v3 +*.perspectivev3 +!default.perspectivev3 +*.xcworkspace +!default.xcworkspace +xcuserdata +profile +*.moved-aside +DerivedData +.idea/