拍摄截屏后显示截屏图像。

我试图在屏幕截图被拍摄后展示它,虽然已经保存屏幕截图,但我该如何获取最新屏幕截图的 URL?

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

NewsScreenShot = display.newImage( "  PNG 文件的路径  " )
点赞
用户1613684
用户1613684

图片将会以名称“Picture X.png”保存在设备相册中。之后,您需要自定义选择最新索引的图片。

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

2013-02-26 15:51:09
用户1979583
用户1979583

display.captureBounds 用于将整个屏幕保存到目录中,但通常会将文件保存为增加的最后一个索引。因此,很难正确读取它们。因此,我更喜欢使用 display.save。但这并不是一个直接的方法。

要实现这个功能,您必须:

  • 首先创建一个 displayGroup
  • 然后将屏幕对象添加到该组中。
  • 返回显示组。
  • 使用 display.save 保存整个显示的组。
  • system.DocumentsDirectory 显示所需的图像。

我在这里提供了一个示例:

-- 创建 displayGroup --
local localGroup = 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 saveGroupImages()
  -- 将屏幕截图保存到 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-22 05:35:09