display.captureBounds
適用於將整個屏幕保存到目錄。但它通常會保存上次索引增加的文件。所以可能難以正確讀取它們。所以我更喜歡display.save
。但這不是一條直線。
這樣做,你必須:
- 首先創建一個
localgroup
。
- 然後
add
屏幕對象到該組。
Return
顯示組
- 使用
display.save
保存顯示的整個組。
- 創建郵件選項,並從
baseDirectory
- 呼叫
mail Popup
我給這裏的樣本添加attachment
圖像:
-- 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 = { "[email protected]",},
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)
這將做到這一點...
保持編碼........ :)
你確定嗎,你可以將拍攝的圖像保存到temproray目錄或文檔目錄中?我以前做過類似的捕捉功能,但我沒有使用captureBounds函數 我想你應該使用display.save(view,「screen_1.png」,system.DocumentsDirectory),其中view代表你想要保存的顯示組。保存到文檔目錄後,您可以使用撰寫電子郵件教程 –
@DoğancanArabacı:是的,上面的代碼是完美的。我已經測試過它。並感謝您的建議tooooooo ... – Thampuran