# love.graphics.newCanvas

Available since LÖVE 0.8.0
It has been renamed from love.graphics.newFramebuffer.

Creates a new Canvas object for offscreen rendering.

| This function can be slow if it is called repeatedly, such as from love.update or love.draw. If you need to use a specific resource often, create it once and store it somewhere it can be reused! |

## Function

### Synopsis

    canvas = love.graphics.newCanvas( )

### Arguments

None.

### Returns

`Canvas canvas`
  A new Canvas with dimensions equal to the window's size in pixels.

## Function

### Synopsis

    canvas = love.graphics.newCanvas( width, height )

### Arguments

`number width`
  The desired width of the Canvas.
`number height`
  The desired height of the Canvas.

### Returns

`Canvas canvas`
  A new Canvas with specified width and height.

## Function

Available since LÖVE 0.9.0
This variant is not supported in earlier versions.

### Synopsis

    canvas = love.graphics.newCanvas( width, height, format )

### Arguments

`number width (window_width)`
  The desired width of the Canvas.
`number height (window_height)`
  The desired height of the Canvas.
`CanvasFormat format ("normal")`
  The desired texture format of the Canvas.

### Returns

`Canvas canvas`
  A new Canvas with specified width and height.

### Notes

Some Canvas texture modes have higher system requirements than normal Canvases. Use love.graphics.isSupported to check for support.

## Function

Available since LÖVE 0.9.1
This variant is not supported in earlier versions.

### Synopsis

    canvas = love.graphics.newCanvas( width, height, format, msaa )

### Arguments

`number width (window_width)`
  The desired width of the Canvas.
`number height (window_height)`
  The desired height of the Canvas.
`CanvasFormat format ("normal")`
  The desired texture format of the Canvas.
`number msaa (0)`
  The desired number of multisample antialiasing (MSAA) samples used when drawing to the Canvas.

### Returns

`Canvas canvas`
  A new Canvas with specified width and height.

### Notes

Antialiased Canvases have *slightly* higher system requirements than normal Canvases. Additionally, the supported maximum number of MSAA samples varies depending on the system. Use love.graphics.getSystemLimit to check.

If the number of MSAA samples specified is greater than the maximum supported by the system, the Canvas will still be created but only using the maximum supported amount (this includes 0.)

## See Also

- love.graphics
- Canvas
- love.graphics.setCanvas

##

Category:

- Functions