search
HomeWeb Front-endHTML TutorialOverview of common attributes of HTML5 canvas tag

Overview of common attributes of HTML5 canvas tag

Dec 28, 2023 am 08:38 AM
heightwidthcontext

Overview of common attributes of HTML5 canvas tag

The Canvas tag is an important element in HTML5, which provides a means to draw graphics through JavaScript. In this article, we will introduce you to the commonly used properties of the Canvas tag and demonstrate their usage through specific code examples.

1. List of common properties

  1. width: Set the width of the Canvas. The width can be set using specific pixel values ​​or using relative units such as percentages.
  2. height: Set the height of Canvas. Height can also be set using pixel values ​​or relative units.
  3. id: Specify a unique ID for the Canvas tag so that it can be manipulated through JavaScript.
  4. class: Specify a class name for the Canvas tag to facilitate style control.
  5. style: used to set the style of the Canvas label, including background color, border style, etc.
  6. getContext(): This is a very important method used to obtain the context of the Canvas object. Drawing, setting styles, and other operations can be performed through context.

The following is a code example for a basic Canvas tag:

<canvas id="myCanvas" width="500" height="300" style="border:1px solid black;"></canvas>

In this example, we create a Canvas tag with a width of 500 pixels and a height of 300 pixels, and A black border is set.

2. Draw graphics

The power of the Canvas tag is that you can use JavaScript code to draw various graphics. Here are some common drawing methods:

  1. Draw a straight line: Use the context.lineTo() method to draw a straight line. The following example code draws a straight line from coordinates (50, 50) to coordinates (200, 200).
var canvas = document.getElementById("myCanvas");
var ctx = canvas.getContext("2d");
ctx.beginPath();
ctx.moveTo(50, 50);
ctx.lineTo(200, 200);
ctx.stroke();
  1. Draw a rectangle: Use the context.fillRect() method to draw a rectangle. The example code below draws a red rectangle with a width of 100 pixels and a height of 50 pixels.
var canvas = document.getElementById("myCanvas");
var ctx = canvas.getContext("2d");
ctx.fillStyle = "red";
ctx.fillRect(50, 50, 100, 50);
  1. Draw a circle: Use the context.arc() method to draw a circle. The example code below draws a blue circle with a radius of 30 pixels.
var canvas = document.getElementById("myCanvas");
var ctx = canvas.getContext("2d");
ctx.beginPath();
ctx.arc(100, 100, 30, 0, 2 * Math.PI);
ctx.fillStyle = "blue";
ctx.fill();
  1. Clear the canvas: Use the context.clearRect() method to clear the canvas and achieve dynamic drawing effects. The following example code clears the canvas every second and draws a circle in a random position and color.
var canvas = document.getElementById("myCanvas");
var ctx = canvas.getContext("2d");

function drawCircle() {
  ctx.clearRect(0, 0, canvas.width, canvas.height);
  var x = Math.random() * canvas.width;
  var y = Math.random() * canvas.height;
  var color = "#"+((1<<24)*Math.random()|0).toString(16);
  ctx.beginPath();
  ctx.arc(x, y, 30, 0, 2 * Math.PI);
  ctx.fillStyle = color;
  ctx.fill();
}

setInterval(drawCircle, 1000);

The above sample code uses the setInterval() function to call the drawCircle() function every second to continuously clear the canvas and draw new circular effect.

Through the above sample code, we can see the usage of some common properties of the Canvas tag and how to use JavaScript to draw graphics. I hope this article will help you understand the use of Canvas tags.

The above is the detailed content of Overview of common attributes of HTML5 canvas tag. For more information, please follow other related articles on the PHP Chinese website!

Statement
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn
How to implement multi-project carousel in Bootstrap 4?How to implement multi-project carousel in Bootstrap 4?Apr 30, 2025 pm 03:24 PM

Solution to implement multi-project carousel in Bootstrap4 Implementing multi-project carousel in Bootstrap4 is not an easy task. Although Bootstrap...

How does deepseek official website achieve the effect of penetrating mouse scroll event?How does deepseek official website achieve the effect of penetrating mouse scroll event?Apr 30, 2025 pm 03:21 PM

How to achieve the effect of mouse scrolling event penetration? When we browse the web, we often encounter some special interaction designs. For example, on deepseek official website, �...

How to modify the playback control style of HTML videoHow to modify the playback control style of HTML videoApr 30, 2025 pm 03:18 PM

The default playback control style of HTML video cannot be modified directly through CSS. 1. Create custom controls using JavaScript. 2. Beautify these controls through CSS. 3. Consider compatibility, user experience and performance, using libraries such as Video.js or Plyr can simplify the process.

What problems will be caused by using native select on your phone?What problems will be caused by using native select on your phone?Apr 30, 2025 pm 03:15 PM

Potential problems with using native select on mobile phones When developing mobile applications, we often encounter the need for selecting boxes. Normally, developers...

What are the disadvantages of using native select on your phone?What are the disadvantages of using native select on your phone?Apr 30, 2025 pm 03:12 PM

What are the disadvantages of using native select on your phone? When developing applications on mobile devices, it is very important to choose the right UI components. Many developers...

How to optimize collision handling of third-person roaming in a room using Three.js and Octree?How to optimize collision handling of third-person roaming in a room using Three.js and Octree?Apr 30, 2025 pm 03:09 PM

Use Three.js and Octree to optimize collision handling of third-person roaming in the room. Use Octree in Three.js to implement third-person roaming in the room and add collisions...

What problems will you encounter when using native select on your phone?What problems will you encounter when using native select on your phone?Apr 30, 2025 pm 03:06 PM

Issues with native select on mobile phones When developing applications on mobile devices, we often encounter scenarios where users need to make choices. Although native sel...

Why can some websites achieve mouse scrolling and penetration effect, while others cannot?Why can some websites achieve mouse scrolling and penetration effect, while others cannot?Apr 30, 2025 pm 03:03 PM

Exploring the implementation principle of mouse scrolling events When browsing some websites, you may notice that some page elements still allow scrolling the entire page when the mouse is hovering...

See all articles

Hot AI Tools

Undresser.AI Undress

Undresser.AI Undress

AI-powered app for creating realistic nude photos

AI Clothes Remover

AI Clothes Remover

Online AI tool for removing clothes from photos.

Undress AI Tool

Undress AI Tool

Undress images for free

Clothoff.io

Clothoff.io

AI clothes remover

Video Face Swap

Video Face Swap

Swap faces in any video effortlessly with our completely free AI face swap tool!

Hot Tools

MantisBT

MantisBT

Mantis is an easy-to-deploy web-based defect tracking tool designed to aid in product defect tracking. It requires PHP, MySQL and a web server. Check out our demo and hosting services.

EditPlus Chinese cracked version

EditPlus Chinese cracked version

Small size, syntax highlighting, does not support code prompt function

SublimeText3 English version

SublimeText3 English version

Recommended: Win version, supports code prompts!

SublimeText3 Linux new version

SublimeText3 Linux new version

SublimeText3 Linux latest version

Notepad++7.3.1

Notepad++7.3.1

Easy-to-use and free code editor