zoukankan      html  css  js  c++  java
  • cocos2d-x 截取屏幕可见区域

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

    设计分辨率(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();

        

        if (0 == 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->setAnchorPoint(CCPoint(0, 0));

        sprite->setFlipY(true);

        

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

        finalRtx->begin();

        sprite->visit();

        finalRtx->end();

        

        return finalRtx->newCCImage();

    }


  • 相关阅读:
    Opencv:视频中人脸检测并保存人脸图片
    Opencv:图片中检测人脸并保存
    Opencv:按帧数读取视频并保存图片
    《软件工程》学习进度博客9
    第一阶段冲刺4
    02构建之法阅读笔记2—到底几个人开发?
    第一阶段冲刺3
    第一阶段冲刺2
    第一阶段冲刺1
    《软件工程》结对作业2----顶会热词统计
  • 原文地址:https://www.cnblogs.com/riasky/p/3481852.html
Copyright © 2011-2022 走看看