
169 views
HTML Canvas
HTML Canvas is an element that allows you to draw graphics dynamically using JavaScript. It provides a blank rectangular area where you can manipulate pixels to create various shapes, animations, and interactive visualizations. Here’s an overview of using the HTML Canvas element:
Creating a Canvas:
- To use the canvas, you need to add the
<canvas>
element to your HTML document.
Obtaining a Context:
- Before you can draw on the canvas, you need to obtain the rendering context.
- JavaScript provides two contexts: 2D and WebGL.
- For 2D graphics, use the
getContext('2d')
method on the canvas element. - Example:
JavaScript
const canvas = document.getElementById('myCanvas');
const ctx = canvas.getContext('2d');
Drawing Shapes and Paths:
- The 2D rendering context provides various methods to draw shapes, lines, curves, and text.
- Common methods include
fillRect()
,strokeRect()
,fillText()
,arc()
,lineTo()
, and more. - Example:
JavaScript
ctx.fillStyle = 'red';
ctx.fillRect(50, 50, 100, 100);
ctx.strokeStyle = 'blue';
ctx.lineWidth = 2;
ctx.strokeRect(75, 75, 50, 50);
ctx.font = '20px Arial';
ctx.fillStyle = 'black';
ctx.fillText('Hello, Canvas!', 150, 150);
Styling and Colors:
- You can set the stroke and fill colors, line widths, fonts, and other styles to customize the appearance of the drawn elements.
- Use properties like
fillStyle
,strokeStyle
,lineWidth
,font
, etc., to set the styles. - Example:
JavaScript
ctx.fillStyle = 'green';
ctx.strokeStyle = 'red';
ctx.lineWidth = 3;
ctx.font = '24px Arial';
Animating the Canvas:
- The canvas can be animated by repeatedly redrawing its content within a time interval.
- You can use methods like
requestAnimationFrame()
orsetInterval()
to update and redraw the canvas. - Example:
JavaScript
function animate() {
// Update canvas content
// Draw new shapes, move existing ones, etc.
// Clear canvas ctx.clearRect(0, 0, canvas.width, canvas.height);
// Draw updated content
// ctx.fillRect(...), ctx.fillText(...), etc.
// Request the next animation frame requestAnimationFrame(animate);
}
// Start the animation
animate();
Interactivity:
- You can make the canvas interactive by handling user input, such as mouse clicks, mouse movements, and keyboard events.
- Add event listeners to the canvas element to detect and respond to user interactions.
- Example:
JavaScript
canvas.addEventListener('click', function(event) {
const mouseX = event.clientX - canvas.offsetLeft;
const mouseY = event.clientY - canvas.offsetTop;
// Perform actions based on mouse coordinates
});
The HTML Canvas element provides a powerful toolset for creating dynamic and interactive graphics on the web. With JavaScript and the canvas API, you can create games, data visualizations, image manipulation, and much more.