Easy Tutorial
❮ Dom Obj Time Prop Style Backgroundrepeat ❯

HTML DOM Canvas Object


Canvas Object

The HTML5 <canvas> tag is used to draw images (via scripting, usually JavaScript).

Accessing Canvas Object

You can access the <canvas> element using getElementById():

Creating Canvas Object

You can create a <canvas> element using the document.createElement() method:

Note: The <canvas> element itself has no drawing capabilities (it is just a container for graphics) - you must use a script to actually draw the graphics.

The getContext() method returns an object that provides methods and properties for drawing on the canvas.

This manual provides complete properties and methods of the getContext("2d") object, which can be used to draw text, lines, rectangles, circles, and more on the canvas.


Colors, Styles, and Shadows

Property Description
fillStyle Sets or returns the color, gradient, or pattern used to fill the drawing.
strokeStyle Sets or returns the color, gradient, or pattern used for strokes.
shadowColor Sets or returns the color used for shadows.
shadowBlur Sets or returns the blur level for shadows.
shadowOffsetX Sets or returns the horizontal distance of the shadow from the shape.
shadowOffsetY Sets or returns the vertical distance of the shadow from the shape.
Method Description
createLinearGradient() Creates a linear gradient (to be used on canvas content).
createPattern() Repeats a specified element in the specified direction.
createRadialGradient() Creates a radial/circular gradient (to be used on canvas content).
addColorStop() Specifies the colors and stop positions in a gradient object.

Line Styles

Property Description
lineCap Sets or returns the style of the end points of lines.
lineJoin Sets or returns the type of corner created when two lines meet.
lineWidth Sets or returns the current line width.
miterLimit Sets or returns the maximum miter length.

Rectangles

Method Description
rect() Creates a rectangle.
fillRect() Draws a "filled" rectangle.
strokeRect() Draws a rectangle (no fill).
clearRect() Clears the specified pixels within a given rectangle.

Paths

Method Description
fill() Fills the current drawing (path).
stroke() Draws the path defined.
beginPath() Starts a new path or resets the current path.
moveTo() Moves the path to the specified point in the canvas, without creating a line.
closePath() Creates a path from the current point back to the starting point.
lineTo() Adds a new point and creates a line from that point to the last specified point in the canvas.
clip() Clips a region of any shape and size from the original canvas.
quadraticCurveTo() Creates a quadratic Bézier curve.
bezierCurveTo() Creates a cubic Bézier curve.
arc() Creates an arc/curve (used to create circles or parts of circles).
arcTo() Creates an arc/curve between two tangents.
isPointInPath() Returns true if the specified point is in the current path, otherwise false.

Transformations

Method Description
scale() Scales the current drawing bigger or smaller.
rotate() Rotates the current drawing.
translate() Remaps the (0,0) position on the canvas.
transform() Replaces the current transformation matrix for the drawing.
setTransform() Resets the current transform to the identity matrix. Then runs transform().

Text

Property Description
font Sets or returns the current font properties for text content.
textAlign Sets or returns the current alignment for text content.
textBaseline Sets or returns the current text baseline used when drawing text.
Method Description
fillText() Draws "filled" text on the canvas.
strokeText() Draws text on the canvas (no fill).
measureText() Returns an object that contains the width of the specified text.

Drawing Images

Method Description
drawImage() Draws images, canvases, or videos onto the canvas.

Pixel Manipulation

Property Description
width Returns the width of an ImageData object.
height Returns the height of an ImageData object.
data Returns an object that contains image data of the specified ImageData object.
Method Description
createImageData() Creates a new, blank ImageData object.
getImageData() Returns an ImageData object that copies the pixel data for the specified rectangle on a canvas.
putImageData() Puts the image data (from the specified ImageData object) back onto the canvas.

Compositing

Property Description
globalAlpha Sets or returns the current alpha or transparency value of the drawing.
globalCompositeOperation Sets or returns how new images are drawn onto an existing image.

Miscellaneous

Method Description
save() Saves the current environment state.
restore() Returns previously saved path state and attributes.
createEvent()
getContext()
toDataURL()

Standard Properties and Events

The Canvas object also supports standard properties and events.


Related Articles

HTML Tutorial: HTML <canvas> Element

❮ Dom Obj Time Prop Style Backgroundrepeat ❯