最近项目中需要截图进行虚化处理作为背景图来显示。
开始使用的截图方式是渲染的方式;lua代码如下
local renderTexture = cc.RenderTexture:create(screen_size.width, screen_size.height)
local eraser= cc.Director:getInstance():getRunningScene()
renderTexture:begin()
eraser:visit()
renderTexture:endToLua()
renderTexture:saveToFile("tt.png",true)
但是发现 如果是两层虚化截图时会莫名出现绿色图片,原因也没有找到
后来采用了cocos 3.2 以后提供的一个方法cc.utils.captureScreen(function, filename)来截图,截图就不会出现绿色
cc.utils:captureScreen(function()
setBlurEffect()
end,filename)