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

设计分辨率(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. express手工实现session原理

    var express = require('express'); var cookieParser = require('cookie-parser'); var bodyParser = requ ...

  2. React常用的命令解析

    1.在目录终端下输入命令: browserify index.js -o bundle.js 该命令将require的所有文件统一打包在一个bundle.js文件中. 2.解释React文件 $ js ...

  3. JAVA基础 (二)反射 深入解析反射机制

    在谈论到反射这个问题时,你是否有例如以下疑问? 不管是在.NET还是Java中反射的原理和机制是一样的,理解了一种还有一种就能够迎刃而解,想要理解反射首先须要了解底层的一些概念和执行.理解了反射有助于 ...

  4. 投资学第一章 investments-introduction

    转载请注明来自souldak,微博:@evagle 砖搬多了有点累,今天学学投资学. 这章主要是一些重要的概念.   real assets / financial assets , fixed-in ...

  5. inotify

    inotify,文件系统控制函数,通知机制: ioctl, io控制函数

  6. 如何学习.Net的步骤

    如果你已经有较多的面向对象开发经验,跳过以下这两步:   第一步 掌握一门.NET面向对象语言,C#或VB.NET 我强烈反对在没系统学过一门面向对象(OO)语言的前提下去学ASP.NET. ASP. ...

  7. [转]spring 监听器 IntrospectorCleanupListener简介

    "在服务器运行过程中,Spring不停的运行的计划任务和OpenSessionInViewFilter,使得Tomcat反复加载对象而产生框架并用时可能产生的内存泄漏,则使用Introspe ...

  8. Asp MVC 中处理JSON 日期类型

    注:时间有点忙,直接copy 过来的,要查看原址: http://www.developer.com/net/dealing-with-json-dates-in-asp.net-mvc.html I ...

  9. Acegi

    https://blogs.oracle.com/darcy/entry/properties_via_annotation_processing http://www.oschina.net/que ...

  10. 注册表与盘符(转victor888文章 )

    转自: http://blog.csdn.net/loulou_ff/article/details/3769479     写点东西,把这阶段的研究内容记录下来,同时也给研究相关内容的同志提供参考, ...