HTML

Chapter 32: Canvas

AttributeDescription
heightSpecifies the canvas height
widthSpecifies the canvas width

Basic Example

The canvas element was introduced in HTML5 for drawing graphics.

<canvas id="myCanvas">
 Cannot display graphic. Canvas is not supported by your browser (IE<9)
</canvas>

The above will create a transparent HTML <canvas> element of 300×150 px in size.

You can use the canvas element to draw amazing stuff like shapes, graphs, manipulate images, create engaging
games etc. with JavaScript.

The canvas’s 2D drawable layer surface Object is referred to as CanvasRenderingContext2D; or from a
HTMLCanvasElement using the .getContext (“2d”) method:

var ctx = document.getElementById("myCanvas").getContext("2d");
// now we can refer to the canvas's 2D layer context using `ctx`
ctx.fillStyle = "#f00";
ctx.fillRect(0, 0, ctx.canvas.width, ctx.canvas.height); // x, y, width, height
ctx.fillStyle = "#000";
ctx.fillText("My red canvas with some black text", 24, 32); // text, x, y

jsFiddle example

Drawing two rectangles on a <canvas>

<!DOCTYPE html>
<html lang="en">
<head>
 <meta charset="utf-8" />
 <title>Draw two rectangles on the canvas</title>
 <style>
 canvas{
 border:1px solid gray;
 }
 </style>
 <script async>
 window.onload = init; // call init() once the window is completely loaded
 function init(){
 // #1 - get reference to <canvas> element
 var canvas = document.querySelector('canvas');
 
 // #2 - get reference to the drawing context and drawing API
 var ctx = canvas.getContext('2d');
 // #3 - all fill operations are now in red
 ctx.fillStyle = 'red';GoalKicker.com – HTML5 Notes for Professionals 84
 // #4 - fill a 100x100 rectangle at x=0,y=0
 ctx.fillRect(0,0,100,100);
 
 // #5 - all fill operations are now in green
 ctx.fillStyle = 'green';
 
 // #6 - fill a 50x50 rectangle at x=25,y=25
 ctx.fillRect(25,25,50,50);
 
 }
 </script>
</head>
<body>
 <canvas width=300 height=200>Your browser does not support canvas.</canvas>
</body>
</html>

Recent Posts

Unlocking the Secrets of JSON.stringify(): More Than Meets the Eye

JSON (JavaScript Object Notation) is a lightweight data-interchange format widely used in web development. At…

3 months ago

How to Handle AJAX GET/POST Requests in WordPress

AJAX (Asynchronous JavaScript and XML) is a powerful technique used in modern web development that…

4 months ago

Page Speed Optimization: Post-Optimization Dos and Don’ts

Introduction After successfully optimizing your website for speed, it's essential to maintain and build upon…

4 months ago

Ultimate Guide to Securing WordPress Folders: Protect Your Site from Unauthorized Access

Securing your WordPress folders is crucial to safeguarding your website from unauthorized access and potential…

5 months ago

HTML CSS PHP File Upload With Circle Progress Bar

Creating a file upload feature with a circular progress bar involves multiple steps. You'll need…

6 months ago

Using WP Rocket with AWS CloudFront CDN

Integrating WP Rocket with AWS CloudFront CDN helps to optimize and deliver your website content…

6 months ago