Draws a [[Drawable]] object (an [[Image]], [[Canvas]], [[SpriteBatch]], [[ParticleSystem]], [[Mesh]], [[Text]] object, or [[Video]]) on the screen with optional rotation, scaling and shearing.

Objects are drawn relative to their local coordinate system. The origin is by default located at the top left corner of [[Image]] and [[Canvas]]. All scaling, shearing, and rotation arguments transform the object relative to that point. Also, the position of the origin can be specified on the screen coordinate system.

It's possible to rotate an object about its center by offsetting the origin to the center. Angles must be given in radians for rotation. One can also use a negative scaling factor to flip about its centerline. 

Note that the offsets are applied before rotation, scaling, or shearing; scaling and shearing are applied before rotation.

The right and bottom edges of the object are shifted at an angle defined by the shearing factors.

When using the default shader anything drawn with this function will be tinted according to the currently selected color.  Set it to pure white to preserve the object's original colors.
== Function ==
=== Synopsis ===
<source lang="lua">
love.graphics.draw( drawable, x, y, r, sx, sy, ox, oy, kx, ky )
</source>
=== Arguments ===
{{param|Drawable|drawable|A drawable object.}}
{{param|number|x (0)|The position to draw the object (x-axis).}}
{{param|number|y (0)|The position to draw the object (y-axis).}}
{{param|number|r (0)|Orientation (radians).}}
{{param|number|sx (1)|Scale factor (x-axis).}}
{{param|number|sy (sx)|Scale factor (y-axis).}}
{{param|number|ox (0)|Origin offset (x-axis).}}
{{param|number|oy (0)|Origin offset (y-axis).}}
{{New feature|0.8.0|
{{param|number|kx (0)|Shearing factor (x-axis).}}
{{param|number|ky (0)|Shearing factor (y-axis).}}
|080}}
=== Returns ===
Nothing.

== Function ==
{{newin|[[0.9.0]]|090|type=variant|text=It has replaced [[love.graphics.drawq]]}}
=== Synopsis ===
<source lang="lua">
love.graphics.draw( texture, quad, x, y, r, sx, sy, ox, oy, kx, ky )
</source>
=== Arguments ===
{{param|Texture|texture|A [[Texture]] ([[Image]] or [[Canvas]]) to texture the [[Quad]] with.}}
{{param|Quad|quad|The Quad to draw on screen.}}
{{param|number|x|The position to draw the object (x-axis).}}
{{param|number|y|The position to draw the object (y-axis).}}
{{param|number|r (0)|Orientation (radians).}}
{{param|number|sx (1)|Scale factor (x-axis).}}
{{param|number|sy (sx)|Scale factor (y-axis).}}
{{param|number|ox (0)|Origin offset (x-axis).}}
{{param|number|oy (0)|Origin offset (y-axis).}}
{{param|number|kx (0)|Shearing factor (x-axis).}}
{{param|number|ky (0)|Shearing factor (y-axis).}}
=== Returns ===
Nothing.

== Function ==
{{newin|[[11.0]]|110|type=variant}}
=== Synopsis ===
<source lang="lua">
love.graphics.draw( drawable, transform )
</source>
=== Arguments ===
{{param|Drawable|drawable|A drawable object.}}
{{param|Transform|transform|Transformation object.}}
=== Returns ===
Nothing.

== Function ==
{{newin|[[11.0]]|110|type=variant}}
=== Synopsis ===
<source lang="lua">
love.graphics.draw( texture, quad, transform )
</source>
=== Arguments ===
{{param|Texture|texture|A [[Texture]] ([[Image]] or [[Canvas]]) to texture the [[Quad]] with.}}
{{param|Quad|quad|The Quad to draw on screen.}}
{{param|Transform|transform|Transformation object.}}
=== Returns ===
Nothing.

== Examples ==
=== Draw an image (the [[:File:Resource-HamsterBall.png|Hamster Ball]]) at 100 by 100 pixels ===
<source lang="lua">
function love.load()
   hamster = love.graphics.newImage("hamster.png")
end
function love.draw()
   love.graphics.draw(hamster, 100, 100)
end
</source>
=== Draw an image (the [[:File:Resource-HamsterBall.png|Hamster Ball]]) from the center at 100 by 100 pixels, rotated by 90 degrees ===
<source lang="lua">
function love.load()
   hamster = love.graphics.newImage("hamster.png")
   width = hamster:getWidth()
   height = hamster:getHeight()
end
function love.draw()
   love.graphics.draw(hamster, 100, 100, math.rad(90), 1, 1, width / 2, height / 2)
end
</source>
----
{{newin|[[0.9.0]]|090|type=functionality}}
=== Draw the top half of an image (the [[:File:Resource-HamsterBall.png|Hamster Ball]]) at 100 by 100 pixels. ===
<source lang="lua">
function love.load()
   image = love.graphics.newImage("hamster.png")
   quad = love.graphics.newQuad(0, 0, 128, 64, image:getWidth(), image:getHeight())
end

function love.draw()
	love.graphics.draw(image, quad, 100, 100)
end
</source>

== See Also ==
* [[parent::love.graphics]]
[[Category:Functions]]
[[Sub-Category::Drawing| ]]
{{#set:Description=Draws objects on screen.}}
{{#set:Since=000}}
== Other Languages ==
{{i18n|love.graphics.draw}}