Canvas API - MDN Web Docs
Có thể bạn quan tâm
- References
- Web APIs
- Canvas API
- English (US)
- Remember language
- Deutsch
- Español
- Français
- 日本語
- 한국어
- Português (do Brasil)
- Русский
- 中文 (简体)
- 正體中文 (繁體)
- Basic example
- Reference
- Guides and tutorials
- Libraries
- Specifications
- Browser compatibility
- See also
- Canvas API
- Guides
- Manipulating video using canvas
- Tutorial
- Canvas tutorial
- Basic usage of canvas
- Drawing shapes with canvas
- Applying styles and colors
- Drawing text
- Using images
- Transformations
- Compositing and clipping
- Basic animations
- Advanced animations
- Pixel manipulation with canvas
- Optimizing canvas
- Finale
- Interfaces
- CanvasGradient
- CanvasPattern
- CanvasRenderingContext2D
- HTMLCanvasElement
- ImageBitmap
- ImageBitmapRenderingContext
- ImageData
- OffscreenCanvas
- OffscreenCanvasRenderingContext2D
- Path2D
- TextMetrics
- Methods
- Window.createImageBitmap()
- WorkerGlobalScope.createImageBitmap()
- Basic example
- Reference
- Guides and tutorials
- Libraries
- Specifications
- Browser compatibility
- See also
The Canvas API provides a means for drawing graphics via JavaScript and the HTML <canvas> element. Among other things, it can be used for animation, game graphics, data visualization, photo manipulation, and real-time video processing.
The Canvas API largely focuses on 2D graphics. The WebGL API, which also uses the <canvas> element, draws hardware-accelerated 2D and 3D graphics.
Basic example
This simple example draws a green rectangle onto a canvas.
HTML
html<canvas id="canvas"></canvas>JavaScript
The Document.getElementById() method gets a reference to the HTML <canvas> element. Next, the HTMLCanvasElement.getContext() method gets that element's context—the thing onto which the drawing will be rendered.
The actual drawing is done using the CanvasRenderingContext2D interface. The fillStyle property makes the rectangle green. The fillRect() method places its top-left corner at (10, 10), and gives it a size of 150 units wide by 100 tall.
jsconst canvas = document.getElementById("canvas"); const ctx = canvas.getContext("2d"); ctx.fillStyle = "green"; ctx.fillRect(10, 10, 150, 100);Result
Reference
- HTMLCanvasElement
- CanvasRenderingContext2D
- CanvasGradient
- CanvasPattern
- ImageBitmap
- ImageData
- TextMetrics
- OffscreenCanvas
- Path2D Experimental
- ImageBitmapRenderingContext Experimental
Note: The interfaces related to the WebGLRenderingContext are referenced under WebGL.
Note: OffscreenCanvas is also available in web workers.
CanvasCaptureMediaStreamTrack is a related interface.
Guides and tutorials
Canvas tutorialA comprehensive tutorial covering both the basic usage of the Canvas API and its advanced features.
HTML5 Canvas Deep DiveA hands-on, book-length introduction to the Canvas API and WebGL.
Canvas HandbookA handy reference for the Canvas API.
Manipulating video using canvasCombining <video> and <canvas> to manipulate video data in real time.
Libraries
The Canvas API is extremely powerful, but not always simple to use. The libraries listed below can make the creation of canvas-based projects faster and easier.
- EaselJS is an open-source canvas library that makes creating games, generative art, and other highly graphical experiences easy.
- Fabric.js is an open-source canvas library with SVG parsing capabilities.
- heatmap.js is an open-source library for creating canvas-based data heat maps.
- JavaScript InfoVis Toolkit creates interactive data visualizations.
- Konva.js is a 2D canvas library for desktop and mobile applications.
- p5.js has a full set of canvas drawing functionality for artists, designers, educators, and beginners.
- Paper.js is an open-source vector graphics scripting framework that runs on top of the HTML Canvas.
- Phaser is a fast, free and fun open source framework for Canvas and WebGL powered browser games.
- Pts.js is a library for creative coding and visualization in canvas and SVG.
- Rekapi is an animation key-framing API for Canvas.
- Scrawl-canvas is an open-source JavaScript library for creating and manipulating 2D canvas elements.
- The ZIM framework provides conveniences, components, and controls for coding creativity on the canvas — includes accessibility and hundreds of colorful tutorials.
- Sprig is a beginner-friendly, open-source, tile-based game development library that uses Canvas.
Note: See the WebGL API for 2D and 3D libraries that use WebGL.
Specifications
Specification |
---|
HTML Standard # the-canvas-element |
Browser compatibility
BCD tables only load in the browser
See also
- WebGL
Help improve MDN
Was this page helpful to you?YesNoLearn how to contribute.This page was last modified on Aug 7, 2024 by MDN contributors.
View this page on GitHub • Report a problem with this contentTừ khóa » Html Canvas
-
HTML Canvas Graphics - W3Schools
-
HTML Canvas Tutorial - W3Schools
-
Canvas Tutorial - Web APIs | MDN
-
HTML Canvas - Javatpoint
-
HTML5 - Canvas - Tutorialspoint
-
25 Ridiculously Impressive HTML5 Canvas Experiments
-
How To Draw Graphics On HTML5 Canvas - Tutorial Republic
-
HTML5 Canvas Tutorial For Beginners | An Intro To Becoming A Pro
-
A Full Overview Of HTML Canvas - FreeCodeCamp
-
HTML
-
What Is The
-
JavaScript Canvas