bugl
bugl
HomeLearnPatternsPathsSearchPremium
HomeLearnPatternsPaths

Loading lesson path

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

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