2013-07-31 7 views
0

Je dois prendre une capture d'écran du groupe d'écran souhaité mais cela ne fonctionne pas et l'image totalement noire est enregistrée dans le répertoire des documents. Comment puis-je sauvegarder la capture d'écran?ScreenShot (CORONA SDK)

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

duplication possible de [Corona: comment capturer un écran en couronne?] (Http://stackoverflow.com/questions/14355806/corona-how-to-capture-a-screen-in-corona) – hjpotter92

+2

, votre stageGroup est vide ou juste un écran noir. Pouvez-vous partager plus de votre code? –

Répondre

1

Pour sauver un groupe d'affichage, vous devez:

  • d'abord créer un display group.
  • Ensuite add l'écran s'oppose à ce groupe.
  • Return le groupe d'affichage
  • Utilisez display.save pour enregistrer le groupe entier affiché.

Je donne un exemple ici:

-- 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) 

Note: Assurez-vous que vous avez ajouté les objets à apparaître sur la capture d'écran à l'stageGroup.

Keep codage ............. :)

2

Je pense que vous utilisez la version inférieure de graphiques drive.Try dans Mac dernière.