1. Mettre une image en background d’un canvas.
Il suffit d’utiliser un peu de css, par exemple :
<!DOCTYPE html>
<html lang="fr" >
<link rel="stylesheet" href="style/style.css">
<head>
<meta charset="UTF-8">
</head>
<body >
<canvas id="espace_de_dessin"></canvas>
</body>
<script src="js/script.js"></script>
</html>
et en css
#espace_de_dessin {
/* on indique le chemin relatif vers l'image */
background-image: url("monimage.png");
/* On centre */
background-position: center top;
/* on ne répète pas */
background-repeat: no-repeat;
/* On adapte la taille pour couvrir le canvas */
background-size: cover;
/* on fixe les dimensions du canvas */
height: 200px;
width: 400px;
}
2. Insérer une image à une certaine position dans un canvas
<!DOCTYPE html>
<html lang="fr" >
<link rel="stylesheet" href="style.css">
<head>
<meta charset="UTF-8">
</head>
<body >
<canvas id="canvas" width="600" height="600"></canvas>
</body>
<script src="prog.js"></script>
</html>
en js :
// on définit ctx comme espace de dessin 2d pour le 1° canvas
var ctx = document.getElementById('canvas').getContext('2d');
// on définit un objet image
var img = new Image();
// on définit le lien source de l'image
img.src = 'steve.jpg';
// on attend que l'image soit chargée pour la dessine dans le canvas
img.onload = function() {
ctx.drawImage(img,0,0,150,150,50,50,150,150);
}
Pour en savoir plus sur les paramètres de drawImage :
https://developer.mozilla.org/fr/docs/Web/API/CanvasRenderingContext2D/drawImage
3. Pour structurer des données : recettes de cuisine, données touristiques ….
Le JSON est un format parfaitement adapté à la gestion des données en js :
<!DOCTYPE html>
<html lang="fr" >
<link rel="stylesheet" href="style.css">
<head>
<meta charset="UTF-8">
<script src="structure_donnee.js"></script>
</head>
<body >
</body>
</html>
var donnee={
"equipe": "Super hero squad",
"ville": "Metro City",
"membres": [
{
"name": "Molecule Man",
"age": 29,
"secretIdentity": "Dan Jukes",
"powers": [
"Radiation resistance",
"Turning tiny",
"Radiation blast"
]
},
{
"name": "Madame Uppercut",
"age": 39,
"secretIdentity": "Jane Wilson",
"powers": [
"Million tonne punch",
"Damage resistance",
"Superhuman reflexes"
]
},
{
"name": "Eternal Flame",
"age": 1000000,
"secretIdentity": "Unknown",
"powers": [
"Immortality",
"Heat Immunity",
"Inferno",
"Teleportation",
"Interdimensional travel"
]
}
]
}
alert(donnee.ville);
alert(donnee.membres[0].name);
alert(donnee.membres[2].powers[2]);