-(UIImage *) glToUIImage {
NSInteger myDataLength = 320 * 480 * 4;
// allocate array and read pixels into it.
GLubyte *buffer = (GLubyte *) malloc(myDataLength);
glReadPixels(0, 0, 320, 480, GL_RGBA, GL_UNSIGNED_BYTE, buffer);
// gl renders "upside down" so swap top to bottom into new array.
// there's gotta be a better way, but this works.
GLubyte *buffer2 = (GLubyte *) malloc(myDataLength);
for(int y = 0; y < 480; y++)
{
for(int x = 0; x < 320 * 4; x++)
{
buffer2[(479 - y) * 320 * 4 + x] = buffer[y * 4 * 320 + x];
}
}
// make data provider with data.
CGDataProviderRef provider = CGDataProviderCreateWithData(NULL, buffer2, myDataLength, NULL);
// prep the ingredients
int bitsPerComponent = 8;
int bitsPerPixel = 32;
int bytesPerRow = 4 * 320;
CGColorSpaceRef colorSpaceRef = CGColorSpaceCreateDeviceRGB();
CGBitmapInfo bitmapInfo = kCGBitmapByteOrderDefault;
CGColorRenderingIntent renderingIntent = kCGRenderingIntentDefault;
// make the cgimage
CGImageRef imageRef = CGImageCreate(320, 480, bitsPerComponent, bitsPerPixel, bytesPerRow, colorSpaceRef, bitmapInfo, provider, NULL, NO, renderingIntent);
// then make the uiimage from that
UIImage *myImage = [UIImage imageWithCGImage:imageRef];
return myImage;
}
-(void)captureToPhotoAlbum {
UIImage *image = [self glToUIImage];
UIImageWriteToSavedPhotosAlbum(image, self, nil, nil);
}
分享到:
相关推荐
cocos2d屏幕滚动的源代码,自己写的确定可用,我的博客有详细介绍!
简单实现了屏幕震动的效果,留作日后借以备用,同时也希望对像我这样刚入行的小伙伴们有一点点儿的帮助。
实现屏幕跳转,进度条的旋转特效,精灵放大缩小特效
使用cocos2d-x lua和code ide编写的贪吃蛇小游戏 反转贪食蛇一改传统贪食蛇的玩法,游戏大屏幕一分为二。半屏采用传统贪食蛇玩法,半屏加入反转元素,触屏即向相反方向转头! 除此之外,还新增多种规则,等着...
1 代码可以运行在基于cocos2d x 2 2 1 及以后的版本上的 新建工程导入文件直接运行即可 2 PC上鼠标滑动屏幕就能看到效果了 3 本工程中有详细说明 这是一个切水果刀光的绘制demo 可以用 但是离原版的切水果切水果...
1.1 选择iphone版cocos2d的理由 1.1.1 免费 1.1.2 开源 1.1.3 objective-c 1.1.4 2d游戏引擎 1.1.5 物理引擎 1.1.6 技术难度较低 1.1.7 依然需要编程 1.1.8 超棒的cocos2d社区 1.2 注意事项 ...
http://cn.cocos2d-x.org/tutorial/lists?id=58 2048游戏是一款风靡全球的休闲类游戏,通过控制4X4范围内的数字块的移动,相同数字的块在移动的过程中累加消除,该游戏即考虑了手机触摸屏幕的操作方式,又在游戏过程...
在玩手机游戏的时候,屏幕接收我们的触摸消息是必不可少的,根据我们的触摸事件,去实现相应的功能,这里我们就来学习一下cocos2d-x中的触摸是怎么实现的。触摸分为单点触摸和多点触摸,先来看单点触摸,就是接收一...
cocos creato中一些控制人物的移动方式总结,键盘控制,触屏控制,摇杆控制等,注释详细,直接用
最近看到网上介绍cocos2d的资料很多,看了看cocos2d也支持wp7,下载了个 Cocos2d-XNA 安装包,写个小例子玩玩,熟悉下cocos2d 程序很简单,就一个入门级的小游戏,写完后放手机里运行了下效果还可以 开发环境 vs2010,...
详细说明见: https://blog.csdn.net/Tiantangbujimo7/article/details/124861145?spm=1001.2014.3001.5502
一个最小的cocos2d-x iPhone / iPad项目,说明如何在屏幕上拖动精灵。 设置 SpriteDraggerX使用的预构建的Cocos2D-X库。 确保您具有和 ,然后: sudo npm install rapidgame -g rapidgame prebuild cd ...
代码忽略了cocos2d-x的代码库,你可以在下载CPP版本的游戏引擎源代码。 至于怎样使用cocos2d-x从头开始创建一个游戏,请参考这篇文章。 版权声明 该游戏创意和素材的所有权归原作者所有,本程序仅供学习使用
1 通过研究和学习此项目,初学者可以很快的掌握到cocos3.8的使用方法。 2 如果你是大量需要试玩游戏项目的试玩负责人,也可以通过这个项目来进行快速的换皮以及上架各个平台而只需修改json文件即可,无需修改更多的...
主要介绍了Cocos2d-x学习笔记之世界坐标系、本地坐标系、opengl坐标系、屏幕坐标系,本文用代码和注释讲解了Cocos2d-x中的坐标体系,需要的朋友可以参考下
如果你对于如何制作基于Cocos2d-x3.0的游戏完全陌生的话,这个代码可以帮助你!你将会学习到,如何从头至尾构建一个完整的游戏,不需要任何的经验! 代码中还包含了视差滚动(parallax scrolling),预分配Node,...
警告:我删除了项目中的 cocos2d 文件夹,因此创建一个新的 3.3 项目并替换 Classes 和 Resources 文件夹并运行该项目。 对于通用应用程序,您需要具有更新 3 或更高版本的 Visual Studio Community 或 Pro。 要在...
超级跑酷游戏简单的实现了两关,点击start开始游戏,点击back退出游戏,在游戏中点击屏幕人物跳跃,过关还是有点难度的。引擎版本:3.2 开发工具:vs2012测试说明:基于cocos2d-x3.2和vs2012测试
这个比较简单,cocos2d就有现成接口: CCSize visibleSize = CCDirector::sharedDirector()->getVisibleSize(); //第一个参数是颜色ccc4(r,g,b,a) a取值(0~255),越大越不透明 下面两个参数为宽高,不传默认为屏幕...