{{newin|[[11.0]]|110|type=function|text=This function replaces [[love.graphics.newScreenshot]]}}
Creates a screenshot once the current frame is done (after [[love.draw]] has finished).

Since this function enqueues a screenshot capture rather than executing it immediately, it can be called from an input callback or [[love.update]] and it will still capture all of what's drawn to the screen in that frame.

{{notice|This function creates a new [[ImageData]] object and can cause love to slow down significantly if it's called every frame.}}

== Function ==
Capture a screenshot and save it to a file at the end of the current frame.
=== Synopsis ===
<source lang="lua">
love.graphics.captureScreenshot( filename )
</source>
=== Arguments ===
{{param|string|filename|The filename to save the screenshot to. The encoded image type is determined based on the extension of the filename, and must be one of the [[ImageFormat]]s.}}
=== Returns ===
Nothing.

== Function ==
Capture a screenshot and call a callback with the generated [[ImageData]] at the end of the current frame.
=== Synopsis ===
<source lang="lua">
love.graphics.captureScreenshot( callback )
</source>
=== Arguments ===
{{param|function|callback|Function which gets called once the screenshot has been captured. An [[ImageData]] is passed into the function as its only argument.}}
=== Returns ===
Nothing.

== Function ==
Capture a screenshot and push the generated [[ImageData]] to a [[Channel]] at the end of the current frame.
=== Synopsis ===
<source lang="lua">
love.graphics.captureScreenshot( channel )
</source>
=== Arguments ===
{{param|Channel|channel|The Channel to [[Channel:push|push]] the generated [[ImageData]] to.}}
=== Returns ===
Nothing.

== Examples ==
Create a new screenshot and write it to the save directory.
<source lang="lua">
function love.load()
    love.filesystem.setIdentity("screenshot_example")
end

function love.keypressed(key)
    if key == "c" then
        love.graphics.captureScreenshot(os.time() .. ".png")
    end
end

function love.draw()
    love.graphics.circle("fill", 400, 300, 200)
end
</source>

== See Also ==
* [[parent::love.graphics]]
* [[ImageData]]
* [[ImageData:encode]]
* [[Channel]]
[[Category:Functions]]
{{#set:Description=Creates a screenshot once the current frame is done.}}
{{#set:Sub-Category=Object Creation}}
== Other Languages ==
{{i18n|love.graphics.captureScreenshot}}