opengl es 绘图图像 保存为图片。读取并显示图片,添加在layer上
来源:互联网 发布:由诲女知之乎的读音 编辑:程序博客网 时间:2024/04/30 03:12
背景色为透明时也适用。。。见到过一种保存方式,如果opengl透明度打开时,背景色设为透明而保存的是黑色。。
这个方法则完全ok。
//保存成图片- (UIImage*)cropImage{ NSInteger myDataLength = self.bounds.size.width*self.bounds.size.height*4 ;GLubyte * buffer = (GLubyte*) malloc(myDataLength); memset(buffer, 0, myDataLength);glReadPixels(self.bounds.origin.x, self.bounds.origin.y, self.bounds.size.width, self.bounds.size.height, GL_RGBA, GL_UNSIGNED_BYTE, buffer);CGDataProviderRef provider = CGDataProviderCreateWithData(NULL, buffer, myDataLength, NULL);CGImageRef iref = CGImageCreate(self.bounds.size.width,self.bounds.size.height,8,32,self.bounds.size.width*4,CGColorSpaceCreateDeviceRGB(),kCGImageAlphaPremultipliedLast,provider,NULL,NO,kCGRenderingIntentDefault);size_t wi = CGImageGetWidth(iref);size_t he = CGImageGetHeight(iref);UIGraphicsBeginImageContext(CGSizeMake(wi, he));CGContextRef ctx = UIGraphicsGetCurrentContext(); CGContextDrawImage(ctx, CGRectMake(0.0, 0.0, wi, he), iref);UIImage* outputImage = UIGraphicsGetImageFromCurrentImageContext();UIGraphicsEndImageContext(); CGDataProviderRelease(provider);CGImageRelease(iref); free(buffer);buffer = NULL;return outputImage;}
UIImage *image = [UIImage imageWithContentsOfFile: [readingContents.readingUserDataPaintingPath stringByAppendingPathComponent:[[NSString alloc] initWithFormat:@"%@%d.png",@"undoPicture", readingContents.readingPageno]]]; if(image != nil){ //创建层 CALayer *lay = [CALayer layer]; // self.backgroundColor = [UIColor redColor].CGColor;//设置背景色 lay.bounds = CGRectMake(0, 0, image.size.width,image.size.height);//层设置为图片大小 lay.contents =(id)image.CGImage; lay.position = CGPointMake(320 / 2.0 , 480 / 2.0);//层在view的位置 // lay.position = CGPointMake(768 / 2.0 , 1024 / 2.0);//层在view的位置 [self.view.layer addSublayer:lay];//将层加到当前View的默认layer下 }
- opengl es 绘图图像 保存为图片。读取并显示图片,添加在layer上
- Android opengl ES实现后台绘图并保存为bitmap
- opengl显示结果保存为图片
- C#简单的在图片上添加文字并保存
- ASP.NET读取网络图片并在页面上显示
- ASP.NET读取网络图片并在页面上显示
- Pango显示文字,并保存为图片
- 图片添加水印 并在IIS上正常显示
- 图片添加水印 并在IIS上正常显示
- OpenCV读取图片并显示和保存图片
- 读取、显示、保存图片
- C在VS10上读取raw格式图片,然后做图像处理,最终保存为所需的raw格式图片
- 利用opencv将两张图像在同一窗口上显示,并在图片上显示文字
- 在一个图片上写字并保存
- C++ 读取raw文件并保存为到bmp图片上
- 读取图片,并通过鼠标交互,在图片上选择一块矩形区域,然后把这个矩形区域的子图像显示出来
- Android opengl ES 实现后台绘图并保存成bitmap
- Android opengl ES 实现后台绘图并保存成bitmap
- 建筑的永恒之道----质
- 自己制作优化大师(win32 SDK)
- Activity属性设置大全
- APACHE 基本管理
- Whonix - Things NOT to do 匿名上网的时候千万不要做的事情——摘要
- opengl es 绘图图像 保存为图片。读取并显示图片,添加在layer上
- 实验一 线性表及其应用 算术表达式求值
- 又开始了
- 虚拟机下的unbuntu nat 有线连接不上
- Linux 2.6.19.x 内核编译配置选项简介
- java实现多线程的两种方法
- 问题:无法通过Windows installer服务安装此安装程序包。您必须安装带有更新版本windows Installer服务的Windows。
- asp.net 调用自定义类的方法 判断用户是否登录
- GCC编译优化指南