在游戏中,我们经常需要分享到社交网络的功能。分享时,我们时常会需要用到截屏的功能。目前网上的文章虽然很多,但是都是截取的

设计分辨率(DesignResolutionSize)大小的屏幕,而这个并不是最佳选择,因为它不符合当前设备的宽高比例。

下面的这个函数,可以截取屏幕可见范围的内容,生成一个CCImage对象。

CCImage* screenshotWithStartNode(CCNode *startNode)

{

CCSize winSize = CCDirector::sharedDirector()->getWinSize();

CCSize visibleSize = CCDirector::sharedDirector()->getVisibleSize();

CCPoint visibleOrigin = CCDirector::sharedDirector()->getVisibleOrigin();

CCDirector::sharedDirector()->setNextDeltaTimeZero(true);

CCRenderTexture* rtx = CCRenderTexture::create(winSize.width, winSize.height);

rtx->begin();

startNode->visit();

rtx->end();

== visibleOrigin.x)

return rtx->newCCImage();

CCRect finalRect = CCRectMake(visibleOrigin.x, visibleOrigin.y, visibleSize.width, visibleSize.height);

CCSprite *sprite = CCSprite::createWithTexture(rtx->getSprite()->getTexture(), finalRect);

sprite->, ));

sprite->setFlipY(true);

CCRenderTexture *finalRtx = CCRenderTexture::create(visibleSize.width, visibleSize.height);

finalRtx->begin();

sprite->visit();

finalRtx->end();

return finalRtx->newCCImage();

}

cocos2d-x 截取屏幕可见区域的更多相关文章

  1. Android实例-程序界面内截取屏幕(XE8+小米2)

    结果: 1.只能截取程序界面内的图片. 2.图片有点不清楚,自己设置清楚度. 实例代码: unit Unit1; interface uses System.SysUtils, System.Type ...

  2. jquery 截取屏幕

    <!DOCTYPE html> <html> <head> <meta charset="utf-8"> <meta name ...

  3. C# 截取屏幕图像

    #region 截取屏幕图像 private static Bitmap GetScreenCapture() { Rectangle tScreenRect = , , Screen.Primary ...

  4. opencv 截取任意四边形区域的图像

    截取任意四边形区域的图像. mask就是结果. 需要定义四边形区域,分别是 tl, tr, bl, br std::map<int, std::set<int>> genera ...

  5. html2canvas截取屏幕的方法

    html2canvas截取屏幕的方法 需要放在服务上运行,否则会报错, 放在服务器里,完美运行  处理截屏模糊的方法 html2canvas 0.5.0-beta3解决截图模糊问题 需要引入html2 ...

  6. C# 截取屏幕

    /// <summary> /// 截取屏幕 /// </summary> /// <param name="x">起点X坐标</para ...

  7. ffmpeg+nginx截取屏幕实时画面并进行rtmp推流在前端播放

    准备环境和文件 1.下载ffmpeg的包[https://foxbaby.lanzoui.com/iYjPmup51cd] 地址:https://ffmpeg.org/download.html#bu ...

  8. 【代码笔记】iOS-根据size截取屏幕中间矩形区域

    代码: RootViewController.m #import "RootViewController.h" @interface RootViewController () @ ...

  9. 纯C#实现屏幕指定区域截屏

    以前在别的地方见过一个通过调用系统API实现屏幕截图的例子,从内心来说我不太喜欢在C#代码中出现这种情况,现在什么都讲“和谐”,我觉得这种做法就是破坏了我们的“和谐”代码,呵呵,开玩笑,有的时候,不通 ...

随机推荐

  1. kafka学习(三)-kafka集群搭建

    kafka集群搭建 下面简单的介绍一下kafka的集群搭建,单个kafka的安装更简单,下面以集群搭建为例子. 我们设置并部署有三个节点的 kafka 集合体,必须在每个节点上遵循下面的步骤来启动 k ...

  2. javascript第二课javascript规范

    1.javascript严格区分大小写 2.声明变量一律使用var 推断类型 3.每条语句后面加分号 4.字符串使用单引号 5.html代码使用双引号,js用单引号

  3. Minimum Inversion Number(归并排序)

    Minimum Inversion Number Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 65536/32768 K (Java ...

  4. 虚拟键盘,移动web开发的痛

    原生APP的弹出虚拟键盘和收回虚拟键盘,输入框始终贴在虚拟键盘的上方.如下图: 如果移动端web也想做类似的功能,可以实现吗?  你可能会说着:“不就是放一个position: fixed;的输入框在 ...

  5. SQL学习之高级联结(自联结、自然联结、外联接)

    create table Customers( Id ,), Company ) null, Name ) null ) insert into Customers values('Fun4All', ...

  6. $.ajax传递字符串到后台,后台返回json对象

    var mall = { MallID: $("#createId").val().trim(), MallName: $("#createName").val ...

  7. Java 内省机制

    一.内省 内省(Introspector) 是Java 语言对 JavaBean 类属性.事件的一种缺省处理方法.JavaBean是一种特殊的类,主要用于传递数据信息,这种类中的方法主要用于访问私有的 ...

  8. jQuery实时获取checkbox状态问题

    在最近的项目开发中,使用jQuery操作checkbox时,发现一个问题. Html代码如下: <body> <div> <inputtype="checkbo ...

  9. windows下安装testlink

    因为项目中一直没有使用任何测试用例管理工具,如果需要的时候都是个人写在的excle里各自保存,因为没有系统的记录当时测试方法和测试用例,每次需要再次测试已有的功能时,因为时间太长,而往往记不得当时是怎 ...

  10. No architectures to compile for (ONLY_ACTIVE_ARCH=YES, active arch=x86_64, VALID_ARCHS=armv7 armv7s)

    In Build Settings are: Architectures: Starndard (armv7, armv7s) Base SDK: Latest iOS (iOS 6.0) Build ...