Table des matières
Préparation: Ajoutez un élément de toile à HTML
Dessinez la forme de base: commencez par le rectangle
Écran d'animation et de mise à jour: implémentez-le avec DequestanimationFrame
Images et interactions: non seulement dessiner des graphiques
Maison interface Web js tutoriel Comment utiliser l'élément de canevas HTML5 avec JavaScript?

Comment utiliser l'élément de canevas HTML5 avec JavaScript?

Jul 27, 2025 am 03:44 AM

Canvas est un élément utilisé dans HTML pour le dessin et doit être utilisé en combinaison avec JavaScript. 1. Insérez la balise dans HTML et définissez l'ID; 2. Obtenez l'élément Canvas via JS et créez un objet de contexte; 3. Utilisez l'objet de contexte pour dessiner un graphique, tel que le rectangle de remplissage de remplissage, le rectangle de trait, le cercle de dessin à l'arc, etc.; 4. Pour implémenter l'animation, vous devez constamment repeindre le canevas et la méthode de requestanimationframe est couramment utilisée; 5. Canvas prend également en charge le chargement d'images et la surveillance des événements de souris pour atteindre des fonctions interactives. Après avoir maîtrisé ces étapes, vous pouvez développer des mini-jeux, des graphiques et d'autres applications.

Comment utiliser l'élément de canevas HTML5 avec JavaScript?

Canvas est en fait un élément HTML qui peut être utilisé pour dessiner. Après avoir été utilisé en combinaison avec JavaScript, vous pouvez dessiner des graphiques, des animations et même faire de petits jeux sur des pages Web. La clé est de comprendre les méthodes de dessin de base et comment contrôler le canevas avec JS.

Comment utiliser l'élément de canevas HTML5 avec JavaScript?

Préparation: Ajoutez un élément de toile à HTML

La première étape de l'utilisation du canevas consiste à insérer une balise <canvas></canvas> dans la page HTML. C'est comme une toile vierge, sans contenu ni frontières par défaut:

 <canvas id = "myCanvas" width = "500" height = "300"> </ canvas>

Cet élément lui-même n'est qu'un conteneur. Comment le dessiner dépend entièrement de JavaScript pour le contrôler. N'oubliez pas de régler id pour cela, afin qu'il puisse être obtenu via JS à l'avenir.

Comment utiliser l'élément de canevas HTML5 avec JavaScript?

Ensuite, obtenez l'élément dans JS et créez un objet "contextuel", qui est la base du canevas de fonctionnement:

 const canvas = document.getElementById («myCanvas»);
const ctx = canvas.getContext (&#39;2d&#39;);

Dessinez la forme de base: commencez par le rectangle

Canvas est une méthode de dessin basée sur un chemin. Par exemple, pour dessiner un rectangle, vous devez d'abord définir le chemin, puis caresser ou remplir:

Comment utiliser l'élément de canevas HTML5 avec JavaScript?
 CTX.FillStyle = &#39;Blue&#39;; // Réglez la couleur de remplissage CTX.filrect (50, 50, 100, 100); // Remplissez un rectangle: x = 50, y = 50, largeur 100, hauteur 100

Ce code tirera un carré bleu. Si vous souhaitez afficher uniquement le contour au lieu du rembourrage, vous pouvez utiliser:

  • ctx.strokeStyle = &#39;red&#39;;
  • ctx.strokeRect(50, 50, 100, 100);

De plus, Canvas prend également en charge les cercles de dessin, les lignes, le texte, etc. Par exemple, l'étape de dessin d'un cercle est:

  1. Chemin de démarrage: ctx.beginPath();
  2. Créer un chemin circulaire: ctx.arc(x, y, radius, startAngle, endAngle);
  3. Stroke ou remplissage: ctx.stroke() ou ctx.fill()

Écran d'animation et de mise à jour: implémentez-le avec DequestanimationFrame

Si vous voulez que le contenu sur Canvas se déplace, vous devez constamment repeindre la toile. Une méthode courante consiste à combiner requestAnimationFrame() :

 fonction animate () {
    ctx.ClearRect (0, 0, canvas.width, canvas.height); // Effacer le canevas // Repraw un nouveau cadre ici demandeanimationframe (animate);
}

animer();

Le code ci-dessus est la structure de base de l'animation. Chaque appel à animate() effacera la toile et le repeindra pour réaliser un effet dynamique. Vous pouvez ajouter des variables à cette fonction pour contrôler la position du graphique, comme faire bouger ou tourner une balle.

Ce qui doit être noté est:

  • Chaque fois que vous repeignez, vous devez effacer l'image précédente, sinon l'ancien contenu restera.
  • Pour contrôler la fréquence de l'animation, essayez d'utiliser requestAnimationFrame au lieu de setInterval , le premier est plus efficace.

Images et interactions: non seulement dessiner des graphiques

La toile peut non seulement dessiner des formes, mais aussi des images de chargement:

 const img = new image ();
img.src = &#39;image.png&#39;;
img.onload = function () {
    ctx.DrawImage (IMG, 0, 0); // dessine l&#39;image sur la toile}

Vous pouvez également écouter des événements de souris, tels que cliquer et glisser, afin que Canvas ait des capacités interactives:

 canvas.addeventListener (&#39;click&#39;, fonction (e) {
    const rect = canvas.getBoundingClientRect ();
    const x = e.clientx - rect.left;
    const y = e.clienty - rect.top;
    console.log (`cliquez sur ($ {x}, $ {y})`);
});

La combinaison de ces fonctions peut créer des applications complexes telles que les mini-jeux, les graphiques, les outils de visualisation, etc.

Fondamentalement, c'est tout. La toile semble simple, mais il existe de nombreux détails, en particulier le système de coordonnées, le dessin de chemin, l'optimisation des performances et d'autres aspects sont facilement négligés. Essayez-le plus et vous pourrez le maîtriser bientôt.

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn

Outils d'IA chauds

Undress AI Tool

Undress AI Tool

Images de déshabillage gratuites

Undresser.AI Undress

Undresser.AI Undress

Application basée sur l'IA pour créer des photos de nu réalistes

AI Clothes Remover

AI Clothes Remover

Outil d'IA en ligne pour supprimer les vêtements des photos.

Stock Market GPT

Stock Market GPT

Recherche d'investissement basée sur l'IA pour des décisions plus intelligentes

Outils chauds

Bloc-notes++7.3.1

Bloc-notes++7.3.1

Éditeur de code facile à utiliser et gratuit

SublimeText3 version chinoise

SublimeText3 version chinoise

Version chinoise, très simple à utiliser

Envoyer Studio 13.0.1

Envoyer Studio 13.0.1

Puissant environnement de développement intégré PHP

Dreamweaver CS6

Dreamweaver CS6

Outils de développement Web visuel

SublimeText3 version Mac

SublimeText3 version Mac

Logiciel d'édition de code au niveau de Dieu (SublimeText3)

Qwik: un cadre de redoppe pour les applications Web à chargement instantané Qwik: un cadre de redoppe pour les applications Web à chargement instantané Aug 15, 2025 am 08:25 AM

QwikachievesInstantLoadingByDefaultthroughroughtumability, Nothydratation: 1) TheServerrendershtmlwithSerializedStateAndpre-MaptEventListeners; 2) norehydratonsneeded, activant la réinteraction; 3) Javascripto

Comment accéder et modifier les éléments HTML à l'aide du DOM dans JavaScript Comment accéder et modifier les éléments HTML à l'aide du DOM dans JavaScript Aug 16, 2025 am 11:25 AM

Toaccessandmodifyhtmlelementsusingjavascript, firstSelectTheementUsingMethodslikeDocument.getElementByid, document.queryselect

Optimiser la gestion des événements des sauts de liaison externe dynamique dans la fenêtre contextuelle jQuery Optimiser la gestion des événements des sauts de liaison externe dynamique dans la fenêtre contextuelle jQuery Sep 01, 2025 am 11:48 AM

Cet article vise à résoudre le problème de la redirection du bouton de redirection de liaison externe dans la fenêtre pop-up jQuery provoquant des erreurs de saut. Lorsqu'un utilisateur clique sur plusieurs liens externes successivement, le bouton Jump dans la fenêtre contextuelle peut toujours pointer vers le premier lien cliqué. La solution principale consiste à utiliser la méthode OFF ('Click') pour annuler l'ancien gestionnaire d'événements avant chaque liaison d'un nouvel événement, garantissant que le comportement de saut pointe toujours vers l'URL cible, réalisant ainsi une redirection de liens précise et contrôlable.

Filtrage multi-conditions JavaScript: implémentation de filtrage de produit dynamique basé sur et / ou logique Filtrage multi-conditions JavaScript: implémentation de filtrage de produit dynamique basé sur et / ou logique Aug 22, 2025 am 10:00 AM

Ce tutoriel présente en détail comment utiliser JavaScript pour implémenter la fonction de filtrage dynamique multi-conditions, permettant aux utilisateurs de filtrer les produits en fonction de plusieurs attributs tels que la couleur et la taille. Grâce à une structure HTML claire et à des exemples de code JavaScript, l'article montre comment gérer de manière flexible et / ou logique pour répondre aux besoins complexes de filtrage des utilisateurs et fournit des suggestions d'optimisation.

Créer des compteurs JavaScript en cours d'exécution par les jours ouvrables et les heures de travail Créer des compteurs JavaScript en cours d'exécution par les jours ouvrables et les heures de travail Aug 31, 2025 am 06:30 AM

Cet article détaille comment créer un compteur de synchronisation précis à l'aide de JavaScript. Le comptoir est incrémenté une fois par minute, mais ne se déroule que dans les jours ouvrables prédéfinis (du lundi au vendredi) et les heures de travail (comme 6 h à 20 h). Il peut interrompre les incréments pendant les heures de travail, mais afficher la valeur actuelle et réinitialiser automatiquement le premier jour de chaque mois, assurant la précision et la flexibilité de la logique de comptage.

Comment sélectionnez-vous les éléments par un attribut de données dans JavaScript? Comment sélectionnez-vous les éléments par un attribut de données dans JavaScript? Aug 30, 2025 am 01:57 AM

Vous pouvez sélectionner des éléments avec des attributs de données dans JavaScript via le sélecteur d'attribut CSS et utiliser la méthode document.QuerySelector () ou document.QuerySelectorAll () pour y parvenir. 1. Utiliser [Data-Attribute] pour sélectionner un élément avec l'attribut de données spécifié (n'importe quelle valeur); 2. Utilisez [data-attribut = "Value"] pour sélectionner un élément dont la valeur d'attribut correspond exactement; 3. Accédez à l'attribut de données via Element.Dataset, où Data-User-ID correspond à DataSet.Userid (Remplacer

Pytest et sélénium: stratégies de mise en œuvre pour les tests dynamiques basés sur les données Pytest et sélénium: stratégies de mise en œuvre pour les tests dynamiques basés sur les données Aug 30, 2025 am 06:00 AM

Cet article vise à résoudre le problème selon lequel le décorateur de @ pytest.mark.Marametrise ne peut pas gérer directement les données générées lors de l'exécution lors de l'utilisation de PyTest et du sélénium pour des tests dynamiques basés sur les données. Nous explorerons les limites de pytest.mark.Parametrize en profondeur et introduirons en détail comment implémenter gracieusement les tests paramétrés en fonction de l'acquisition de données dynamiques de sélénium via la fonction de crochet Pytest_GenEReate_tests de Pytest pour assurer la flexibilité et l'efficacité des cas de test.

Pièges communs dans la gestion de l'État React et comment les éviter Pièges communs dans la gestion de l'État React et comment les éviter Aug 17, 2025 am 02:36 AM

La modification directe de l'état entraînera l'échec de la rediffusion et l'état doit toujours être mis à jour en créant un nouvel objet; 2. La fermeture peut capturer les valeurs d'état obsolètes, et les mises à jour fonctionnelles ou les références doivent être utilisées pour obtenir la dernière valeur; 3. L'abus de contexte provoquera une réintégration inutile, et le contexte devrait être divisé par le domaine ou une bibliothèque de gestion de l'État spéciale doit être utilisée; 4. L'état doit être correctement placé dans les récentes composants des ancêtres communs, et la logique d'encapsulation de crochet personnalisée doit être utilisée si nécessaire; 5. L'état dérivé ne doit pas être stocké dans l'État, mais doit être calculé ou utilisé pour optimiser les performances pendant le rendu; 6. L'introduction de la réducteur ou des bibliothèques externes augmentera la complexité et devrait être prioritaire lorsque la logique d'état est simple.

See all articles