30 lines
		
	
	
		
			1.4 KiB
		
	
	
	
		
			Markdown
		
	
	
	
	
	
		
		
			
		
	
	
			30 lines
		
	
	
		
			1.4 KiB
		
	
	
	
		
			Markdown
		
	
	
	
	
	
|   | --- | ||
|  | title: Basic Usage | ||
|  | --- | ||
|  | ## Basic Usage of Canvas
 | ||
|  | 
 | ||
|  | When using canvas, first place a canvas into the document as an element. | ||
|  | 
 | ||
|  | ```html | ||
|  | <canvas width="400" height="400" id="canvas"></canvas> | ||
|  | ``` | ||
|  | 
 | ||
|  | The `width` and `height` attributes will control the size of the canvas. These attributes control the size of the drawing canvas, not the actual rendered size. See the "Canvas Dimensions" page for more. | ||
|  | 
 | ||
|  | In order to use a `canvas`, we must first grab the element from the page as a DOM element, and then get a drawing context from it. | ||
|  | 
 | ||
|  | ```js | ||
|  | var canvas = document.getElementById("canvas"); | ||
|  | var ctx = canvas.getContext('2d'); | ||
|  | ``` | ||
|  | 
 | ||
|  | All drawing calls after this will be made from the `ctx` object. The `ctx` represents the drawing context of the object, and contains information about the 2D drawing space. The `canvas` object is the actual DOM element. Interacting with it allows us to access attributes like `width` and `height`. | ||
|  | 
 | ||
|  | There are a few available drawing contexts, including `webgl`. WebGL is really an entirely different technology, so we will only focus on 2D drawing. | ||
|  | 
 | ||
|  | Paths are the building block of drawing in `canvas`. See the '[Paths](/articles/canvas/paths)' page for more. | ||
|  | 
 | ||
|  | #### More Information:
 | ||
|  | 
 | ||
|  | - [MDN Canvas API](https://developer.mozilla.org/en-US/docs/Web/API/Canvas_API) | ||
|  | - [HTMLCanvasElement.getContext() (MDN)](https://developer.mozilla.org/en-US/docs/Web/API/HTMLCanvasElement/getContext) |