1

我试图在拍摄后显示一个 screenCap,它正在保存 screenCap 但我怎样才能获得最新的 screenCap 的 url?

local screenCap = display.captureScreen( true )
local alert = native.showAlert( "Success", "Screen Capture Saved to Library", { "OK" } )

NewsScreenShot = display.newImage( "  path to the PNG file  " )
4

2 回答 2

1

http://jp.anscamobile.com/dev/reference/index/displaycapturescreen/index.html

图片将以图片 X.png 的名称保存在设备库中。在此之后,您需要自定义选择到最新的索引图片。

顺便说一句,您可以尝试使用 display.save("name",path) 这将始终是最后保存的图片。

于 2013-02-26T15:51:09.097 回答
1

display.captureBounds有利于将整个屏幕保存到目录中。但它通常会随着最后一个索引的增加来保存文件。所以可能很难正确阅读它们。所以我更喜欢display.save. 但这不是一条直截了当的方法。

为此,您必须:

  • 首先创建一个displayGroup.
  • 然后add屏幕对象到该组。
  • Return显示组。
  • 用于display.save保存显示的整个组。
  • 显示所需的图像system.DocumentsDirectory

我在这里给出一个样本:

-- creating the display group --
local localGroup = 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)

-- Take Screenshot --
local function saveGroupImages()
  -- take screen shot to baseDirectory --
  local baseDir = system.DocumentsDirectory
  display.save( localGroup, "myScreenshot.jpg", baseDir )
end
rect:addEventListener("tap",saveGroupImages)

在此之后,您可以读取文件并显示如下:

local readImage = display.newImage( "myScreenshot.jpg" ,system.DocumentsDirectory , 50, 100  )
readImage.x = 160
readImage.y = 240
readImage:scale(0.5,0.5)

继续编码............ :)

于 2013-07-22T05:35:09.547 回答