RenderTexture 截图不全

我在quick 3.3 中使用如下代码截图,但截图显示不完全,背景图只截取到了 左下角一部分

local winSize = cc.Director:getInstance():getWinSize()
local fullScreenRender = cc.RenderTexture:create(winSize.width, winSize.height)
local runningScene = cc.Director:getInstance():getRunningScene()
fullScreenRender:setPosition(cc.p(winSize.width/2, winSize.height/2))
fullScreenRender:setAnchorPoint(cc.p(0.5, 0.5))
fullScreenRender:begin()
runningScene:visit()
fullScreenRender:endToLua()
local picType = string.sub(savedPicName, -3)
if picType == “png” then
fullScreenRender:saveToFile(savedPicName, 1, false)
elseif picType == “jpg” then
fullScreenRender:saveToFile(savedPicName, 0, false)
else
fullScreenRender:saveToFile(savedPicName … “.png”, 1)
end

RenderTexture 设置锚点是没有用的,一直都是(0,0)

en ,注释了上面的锚点和 位置设置 也 截出的图也是边缘黑框 :3:

那应该是你的RenderTexture的宽高设置有关吧,可能runningScene的宽高达不到winSize呢

为啥达不到全屏呢,如果这样 全屏截图不就不行了, 你看我的截图 ,上面部分是有的 ,只不过 背景图少了一块, 这块背景是一个加在scrollview上面的用 CSLoaderUtil.createNode 创建的node 。 当将 这个node 直接加到场景, 居然可以全屏截图下来,:2:

你截取遍历的是runningScene,如果node不在runningScene上的话肯定是截取不到的

如果不加到runningScene上,那这些在截图之前应该也不能被渲染出来吧 ,而且这个node也确实加到了layer上,而layer 加到了场景里面哦

在RenderTexture的create方法后面加上这两个参数试试, Texture2D::PixelFormat::RGBA8888, GL_DEPTH24_STENCIL8

同上,加上看看

应该是缩放比不对照成的吧。

楼主的问题解决了吗?求教求教:891:

是因为cocos资源使用了裁剪导致的么?

忘记怎么个结果了 改天试试