我必须获取所需屏幕组的屏幕截图,但它不起作用,并且完全黑色的图像保存在文档目录中。如何保存屏幕截图?
local function takeSnapshot(event)
timer.performWithDelay( 100, captureWithDelay )
end
function captureWithDelay()
local baseDir = system.DocumentsDirectory
display.save( stageGroup, "entireGroup.jpg", baseDir )
end
答案 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。
保持编码.............:)