bugl
bugl
HomeLearnPatternsPathsSearch
HomeLearnPatternsPathsSearch

Loading lesson path

Learn/HTML/Graphics, Media, and Browser Features
HTML•Graphics, Media, and Browser Features

HTML Canvas Graphics

Flash cards

Review the key moves

1/4
Core idea

What is the main idea behind HTML Canvas Graphics?

Lesson checks

Practice each idea before moving on

Short Mimo-style checks built from this lesson's code, terms, and sequence.

1Quick choice

Which statement best captures the main point of this lesson?

2Fill blank

Complete the missing token from the example code.

___ c = document.getElementById("myCanvas");
3Order

Put the learning moves in the order that makes the concept easiest to apply.

Draw Circular Gradient
Draw Linear Gradient
HTML Canvas Graphics

The HTML <canvas> element is used to draw graphics on a web page.

The graphic to the left is created with <canvas> . It shows four elements: a red rectangle, a gradient rectangle, a multicolor rectangle, and a multicolor text.

What is HTML Canvas?

The HTML <canvas> element is used to draw graphics, on the fly, via JavaScript.

The <canvas> element is only a container for graphics. You must use JavaScript to actually draw the graphics.

Canvas has several methods for drawing paths, boxes, circles, text, and adding images.

Canvas is supported by all major browsers.

Add a JavaScript

After creating the rectangular canvas area, you must add a JavaScript to do the drawing.

Draw a Line

Example

Formatted code
  <script>
var c = document.getElementById("myCanvas");
var ctx = c.getContext("2d");

 ctx.moveTo(0, 0);
ctx.lineTo(200, 100);

 ctx.stroke();
</script>

Live preview

Draw a Circle

Example

Formatted code
  <script>
var c = document.getElementById("myCanvas");
var ctx = c.getContext("2d");

 ctx.beginPath();
ctx.arc(95, 50, 40, 0, 2 * Math.PI);
ctx.stroke();

  </script>

Live preview

Draw a Text

Example

Formatted code
   <script>
var c = document.getElementById("myCanvas");
var ctx = c.getContext("2d");

 ctx.font = "30px Arial";
ctx.fillText("Hello World", 10, 50);

   </script>

Live preview

Stroke Text

Example

Formatted code
  <script>
var c = document.getElementById("myCanvas");
var ctx = c.getContext("2d");

 ctx.font = "30px Arial";
ctx.strokeText("Hello World", 10, 50);

  </script>

Live preview

Draw Linear Gradient

Example

Formatted code
   <script>
var c = document.getElementById("myCanvas");

 var ctx = c.getContext("2d");

 // Create gradient

 var grd = ctx.createLinearGradient(0, 0, 200, 0);

 grd.addColorStop(0, "red");

 grd.addColorStop(1, "white");

 // Fill with gradient

 ctx.fillStyle = grd;

 ctx.fillRect(10, 10, 150, 80);
</script>

Live preview

Draw Circular Gradient

Example

Formatted code
   <script>
var c = document.getElementById("myCanvas");

 var ctx = c.getContext("2d");

 // Create gradient

 var grd = ctx.createRadialGradient(75, 50, 5, 90, 60, 100);

 grd.addColorStop(0, "red");

 grd.addColorStop(1, "white");

 // Fill with gradient

  ctx.fillStyle = grd;
ctx.fillRect(10, 10, 150, 80);
</script>

Live preview

Draw Image

Example

Formatted code
  <script>
var c = document.getElementById("myCanvas");

 var ctx = c.getContext("2d");

 var img = document.getElementById("scream");

 ctx.drawImage(img, 10, 10);
</script>

Live preview

HTML Canvas Tutorial

To learn more about <canvas> , please read our HTML Canvas Tutorial .

Next

HTML Multimedia