J'aimerais savoir si il est possible de placer plus images dans un tableau (en Javascript), et de faire appel a ce tableau dans un canvas afin d'en faire un slide ?
J'utilises la librairie Konva.min.js, mais j'essaie tout d'abord de créer un tableau avec toutes mes images (qui composeront donc mes slides).
Est-il possible d'automatiser l'insertion des images dans le tableau, ou est-ce que je dois les entrer les manuellement ?
Tu peux leur donner le même nom avec un chiffre qui change (monImage-0.png, monImage-1.png), mettre le nombre d'images dans le javascript, les charger et appeler la fonction callback pour les afficher une fois que la dernière image a bien été chargée :
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title>Page Title</title>
<style>
</style>
</head>
<body>
<canvas id="ca">canvas pas supporté par navigateur</canvas>
<script>
var ca = document.getElementById("ca");
var ctx = ca.getContext("2d");
var nombreDimages = 2;
var images = [];
var loadCount = 0;
getFiles();
charger(demarrer);
function getFiles(){
for (var i=0; i < nombreDimages; i++){
var image = new Image();
image.src = "monImage-"+i+".png";//dans le même dossier que ce fichier html
images[i] = image;
console.log("ima : "+images[i]);
}
}
function charger(callback){
for (let i=0; i<nombreDimages; i++){
images[i].onload = function(){ //on utilise onload pour les pré-charger
console.log(i+" loadé!");
loadCount++;
if ( loadCount == nombreDimages ) callback(); //on appelle notre fonction, ici demarrer
}
}
}
function demarrer(){
console.log("demarrer");
ctx.drawImage(images[0], 0,0); //elles ont déjà été préchargées, on les affiche dans le canvas
ctx.drawImage(images[1], 10,10)
}
</script>
</body>
</html>
</body>
</html>
Merci pour vous réponses (malgré mon inactivité sur le forum ahah) :D
Ca fonctionne niquel grace a vous ;)
Futur Guru CyberSécurité !
Tableau rempli d'images
× Après avoir cliqué sur "Répondre" vous serez invité à vous connecter pour que votre message soit publié.
× Attention, ce sujet est très ancien. Le déterrer n'est pas forcément approprié. Nous te conseillons de créer un nouveau sujet pour poser ta question.