<!DOCTYPE html>
<html>
<body>
<canvas id="myCanvas" width="400" height="400" style="border:1px solid grey"></canvas>
<script>
const canvas = document.getElementById("myCanvas");
const ctx = canvas.getContext("2d");
canvas.height = canvas.width;
ctx.transform(1, 0, 0, -1, 0, canvas.height)
const xArray = [50,60,70,80,90,100,110,120,130,140,150];
const yArray = [7,8,8,9,9,9,10,11,14,14,15];
ctx.fillStyle = "red";
for (let i = 0; i < xArray.length-1; i++) {
let x = xArray[i]*400/150;
let y = yArray[i]*400/15;
ctx.beginPath();
ctx.ellipse(x, y, 3, 3, 0, 0, Math.PI * 2);
ctx.fill();
}
</script>
</body>
</html>
<!DOCTYPE html>
<html>
<body>
<canvas id="myCanvas" width="400" height="400" style="border:1px solid grey"></canvas>
<script>
const canvas = document.getElementById("myCanvas");
const ctx = canvas.getContext("2d");
ctx.fillStyle = 'blue';
ctx.fillRect(30, 30, 50, 50);
</script>
</body>
</html>
<!doctype html>
<html lang="en-US">
<head>
<meta charset="UTF-8" />
<title>Canvas experiment</title>
</head>
<body>
<canvas id="canvas" width="150" height="150"></canvas>
<script type="application/javascript">
function draw() {
const canvas = document.getElementById("canvas");
if (canvas.getContext) {
const ctx = canvas.getContext("2d");
ctx.fillStyle = "rgb(200, 0, 0)";
ctx.fillRect(10, 10, 50, 50);
ctx.fillStyle = "rgba(0, 0, 200, 0.5)";
ctx.fillRect(30, 30, 50, 50);
}
}
draw();
</script>
</body>
</html>
<!doctype html>
<html lang="en-US">
<head>
<meta charset="utf-8" />
<title>Canvas tutorial</title>
<style>
canvas {
border: 1px solid black;
}
</style>
</head>
<body>
<canvas id="tutorial" width="150" height="150"></canvas>
<script>
function draw() {
const canvas = document.getElementById("tutorial");
if (canvas.getContext) {
const ctx = canvas.getContext("2d");
}
}
window.addEventListener("load", draw);
</script>
</body>
</html>
<!DOCTYPE html>
<html>
<body>
<canvas id="myCanvas" width="200" height="100" style="border:1px solid #d3d3d3;">
Your browser does not support the HTML canvas tag.</canvas>
<script>
var c = document.getElementById("myCanvas");
var ctx = c.getContext("2d");
ctx.moveTo(0,0);
ctx.lineTo(200,100);
ctx.stroke();
</script>
</body>
</html>
<!DOCTYPE html>
<html>
<body>
<canvas id="myCanvas" width="200" height="100" style="border:1px solid #d3d3d3;">
Your browser does not support the HTML canvas tag.</canvas>
<script>
var c = document.getElementById("myCanvas");
var ctx = c.getContext("2d");
ctx.beginPath();
ctx.arc(95,50,40,0,2*Math.PI);
ctx.stroke();
</script>
</body>
</html>
<!DOCTYPE html>
<html>
<body>
<canvas id="myCanvas" width="200" height="100" style="border:1px solid #d3d3d3;">
Your browser does not support the HTML canvas tag.</canvas>
<script>
var c = document.getElementById("myCanvas");
var ctx = c.getContext("2d");
ctx.font = "30px Arial";
ctx.fillText("Hello World",10,50);
</script>
</body>
</html>
<script>
var c = document.getElementById("myCanvas");
var ctx = c.getContext("2d");
ctx.font = "30px Arial";
ctx.strokeText("Hello World", 10, 50);
</script>
<!DOCTYPE html>
<html>
<body>
<p>Image to use:</p>
<img id="scream" src="img_the_scream.jpg" alt="The Scream" width="220" height="277">
<p>Canvas to fill:</p>
<canvas id="myCanvas" width="250" height="300"
style="border:1px solid #d3d3d3;">
Your browser does not support the HTML canvas tag.</canvas>
<p><button onclick="myCanvas()">Try it</button></p>
<script>
function myCanvas() {
var c = document.getElementById("myCanvas");
var ctx = c.getContext("2d");
var img = document.getElementById("scream");
ctx.drawImage(img,10,10);
}
</script>
</body>
</html>
Method | Description |
---|---|
fillRect() | Draws a "filled" rectangle |
strokeRect() | Draws a rectangle (with no fill) |
clearRect() | Clears specified pixels within a rectangle |
Method | Description |
---|---|
beginPath() | Begins a new path or resets the current path |
closePath() | Adds a line to the path from the current point to the start |
isPointInPath() | Returns true if the specified point is in the current path |
moveTo() | Moves the path to a point in the canvas (without drawing) |
lineTo() | Adds a line to the the path |
fill() | Fills the current path |
rect() | Adds a rectangle to the path |
stroke() | Draws the current path |
Circles and Curves | |
bezierCurveTo() | Adds a cubic Bézier curve to the path |
arc() | Adds an arc/curve (circle, or parts of a circle) to the path |
arcTo() | Adds an arc/curve between two tangents to the path |
quadraticCurveTo() | Adds a quadratic Bézier curve to the path |
Method/Prop | Description |
---|---|
direction | Sets or returns the direction used to draw text |
fillText() | Draws "filled" text on the canvas |
font | Sets or returns the font properties for text content |
measureText() | Returns an object that contains the width of the specified text |
strokeText() | Draws text on the canvas |
textAlign | Sets or returns the alignment for text content |
textBaseline | Sets or returns the text baseline used when drawing text |
Method/Property | Description |
---|---|
addColorStop() | Specifies the colors and stop positions in a gradient object |
createLinearGradient() | Creates a linear gradient (to use on canvas content) |
createPattern() | Repeats a specified element in the specified direction |
createRadialGradient() | Creates a radial/circular gradient (to use on canvas content) |
fillStyle | Sets or returns the color, gradient, or pattern used to fill the drawing |
lineCap | Sets or returns the style of the end caps for a line |
lineJoin | Sets or returns the type of corner created, when two lines meet |
lineWidth | Sets or returns the current line width |
miterLimit | Sets or returns the maximum miter length |
shadowBlur | Sets or returns the blur level for shadows |
shadowColor | Sets or returns the color to use for shadows |
shadowOffsetX | Sets or returns the horizontal distance of the shadow from the shape |
shadowOffsetY | Sets or returns the vertical distance of the shadow from the shape |
strokeStyle | Sets or returns the color, gradient, or pattern used for strokes |
Method | Description |
---|---|
scale() | Scales the current drawing bigger or smaller |
rotate() | Rotates the current drawing |
translate() | Remaps the (0,0) position on the canvas |
transform() | Replaces the current transformation matrix for the drawing |
setTransform() | Resets the current transform to the identity matrix. Then runs transform() |
Method | Description |
---|---|
drawImage() | Draws an image, canvas, or video onto the canvas |
Method/Property | Description |
---|---|
createImageData() | Creates a new, blank ImageData object |
getImageData() | Returns an ImageData object that copies the pixel data for the specified rectangle on a canvas |
ImageData.data | Returns an object that contains image data of a specified ImageData object |
ImageData.height | Returns the height of an ImageData object |
ImageData.width | Returns the width of an ImageData object |
putImageData() | Puts the image data (from a specified ImageData object) back onto the canvas |
Property | Description |
---|---|
globalAlpha | Sets or returns the current alpha or transparency value of the drawing |
globalCompositeOperation | Sets or returns how a new image are drawn onto an existing image |
Method | Description |
---|---|
clip() | Clips a region of any shape and size from the original canvas |
save() | Saves the state of the current drawing context and all its atributes |
restore() | Restores the previously saved state and attributes |
createEvent() | |
getContext() | |
toDataURL() |