ScreenShot(CORONA SDK)

时间:2013-07-31 11:04:36

标签: lua corona

我必须获取所需屏幕组的屏幕截图,但它不起作用,并且完全黑色的图像保存在文档目录中。如何保存屏幕截图?

local function takeSnapshot(event)
  timer.performWithDelay( 100, captureWithDelay )
end
function captureWithDelay()
  local baseDir = system.DocumentsDirectory
  display.save( stageGroup, "entireGroup.jpg", baseDir )
end

2 个答案:

答案 0 :(得分:2)

我认为你使用较低版本的图形驱动器。最近在Mac上试试。

答案 1 :(得分:1)

要保存显示组,您必须:

  • 首先创建一个display group
  • 然后add屏幕对象指向该组。
  • Return显示组
  • 使用display.save保存显示的整个组。

我在这里给出一个样本:

-- creating the display group --
local stageGroup = display.newGroup()  

-- creating display objects and adding it to the group --
local bg = display.newRect(0,0,_w,_h)
bg.x = 160
bg.y = 240
bg:setFillColor(150)
localGroup:insert(bg)

local rect = display.newRect(0,0,50,50)
rect.x = 30+math.random(260)
rect.y = 30+math.random(420)
localGroup:insert(rect)

-- Then do as follows --
local function takePhoto()
    -- take screen shot to baseDirectory --
    local baseDir = system.DocumentsDirectory
    display.save( stageGroup, "myScreenshot.jpg", baseDir )
end
rect:addEventListener("tap",takePhoto)

注意:确保您已将屏幕截图中显示的对象添加到stageGroup。

保持编码.............:)