截屏(CORONA SDK)

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

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

为了保存一个显示组,你需要:

  • 首先创建一个 显示组(display group)
  • 然后将屏幕对象 添加(add) 到该组中。
  • 返回(return)显示组。
  • 使用 display.save 来保存显示的整个组。

下面是一个示例:

-- 创建显示组 --
local stageGroup = display.newGroup()

-- 创建显示对象并将它们添加到组中 --
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)

-- 然后执行以下步骤 --
local function takePhoto()
    -- 截取屏幕并保存到 baseDirectory 中 --
    local baseDir = system.DocumentsDirectory
    display.save( stageGroup, "myScreenshot.jpg", baseDir )
end
rect:addEventListener("tap",takePhoto)

注意: 确保已将要出现在截图中的对象添加到了 stageGroup 中。

继续编码…… :)

2013-08-02 11:55:48
用户2469861
用户2469861

我认为你正在使用较低版本的图形驱动程序。请尝试在最新的Mac上使用。

2013-08-02 12:03:11