3

我是 corona SDK 的新手,但我设法使用以下代码捕获了我的应用场景:

local function captureArea()
    local myCaptureImage = display.captureBounds(display.currentStage.contentBounds, true)
    myCaptureImage:removeSelf()
    myCaptureImage = nil
end
bg:addEventListener("tap",captureArea)

这完美地工作。

现在我需要通过电子邮件将捕获的图像(具有特定名称,例如screen_1.png:)发送给我的朋友。我使用撰写电子邮件和短信作为参考,但我不明白如何在attachment邮件选项字段中添加此保存的图像。

请给我一个适当的解决方案,如何通过电子邮件附加和发送上述保存的图像。

4

1 回答 1

1

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

为此,您必须:

  • 首先创建一个 localgroup.
  • 然后add屏幕对象到该组。
  • Return显示组
  • 用于display.save保存显示的整个组。
  • 创建邮件选项并attachmentbaseDirectory
  • 称呼mail Popup

我在这里给出一个样本:

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

-- Then do as follows --
local function takePhoto_andSendMail()
  -- take screen shot to baseDirectory --
  local baseDir = system.DocumentsDirectory
  display.save( localGroup, "myScreenshot.jpg", baseDir )

  -- Create mail options --
  local options =
  {
    to = { "krishnarajsalim@gmail.com",},
    subject = "My Level",
    body = "Add this...",
    attachment =
    {
      { baseDir=system.DocumentsDirectory, filename="myScreenshot.jpg", type="image" },
    },
  }

  -- Send mail --
  native.showPopup("mail", options)
end
rect:addEventListener("tap",takePhoto_andSendMail)

这会做到...

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

于 2013-07-22T05:25:41.877 回答