love.graphics.draw

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

Objects are drawn relative 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.

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

Function

Synopsis

love.graphics.draw( drawable, x, y, r, sx, sy, ox, oy, kx, ky )

Arguments

Drawable drawable
A drawable object.
number x (0)
The position to draw the object (x-axis).
number y (0)
The position to draw the object (y-axis).
number r (0)
Orientation (radians).
number sx (1)
Scale factor (x-axis).
number sy (sx)
Scale factor (y-axis).
number ox (0)
Origin offset (x-axis).
number oy (0)
Origin offset (y-axis).
Available since LÖVE 0.8.0
number kx (0)
Shearing factor (x-axis).
number ky (0)
Shearing factor (y-axis).

Returns

Nothing.

Examples

Draw an image (the Hamster Ball) at 100 by 100 pixels

function love.load()
   hamster = love.graphics.newImage("hamster.png")
end
function love.draw()
   love.graphics.draw(hamster, 100, 100)
end

Draw an image (the Hamster Ball) from the center at 100 by 100 pixels, rotated by 90 degrees

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

See Also


Other Languages