Cocos2d-lua 截图功能

自己写的,亲测能用,有问题请指出

function ScreenShot( bFullScreen, screenRect )
    --是否截全屏,不是全屏的话需要指定区域
    if bFullScreen == nil or screenRect == nil then
        bFullScreen = true;
    end

    local fileName = "screenShot.png";
    cc.utils:captureScreen( function ( succeed, outputFile )
        if succeed then
            print( "succeed "..outputFile );
            if bFullScreen == false then
                local rt = cc.RenderTexture:create( screenRect.width, screenRect.height );
                rt:beginWithClear( 0,0,0,0 );
                local sp = cc.Sprite:create( outputFile, screenRect );
                --锚点设为(0,0)才行,可以改动看下效果就知道是怎么回事了
                sp:setAnchorPoint( 0,0 );
                if sp then
                    sp:visit();
                end
                rt:endToLua();
                --IMAGE_FORMAT_JPEG,  IMAGE_FORMAT_PNG
                local ret = rt:saveToFile( fileName, cc.IMAGE_FORMAT_PNG, true );
                if ret then
                    print("save ok");
                else
                    print("not ok");
                end
                cc.Director:getInstance():getTextureCache():removeTextureForKey( fileName );
            end
        else
            print( "failed" );
        end
    end, fileName );
end
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值