Chapitre 7. Canvas. 7.1 Introduction. 7.2 Les attributs de <canvas> 7.3 Intitialiser <canvas> 7.3.1 document.getelementbyid(...)



Documents pareils
Canvas 3D et WebGL. Louis Giraud et Laetitia Montagny. 9 Avril Université Lyon 1

Génie informatique. Claude Petitpierre, André Maurer

LES GRANDES ETAPES DE CREATION D UN WEB DESIGN

Tutoriel : Feuille de style externe

TP JAVASCRIPT OMI4 TP5 SRC

Malgré son aspect spartiate, Freeplane offre de nombreuses fonctionnalités en particulier dans le domaine de la diffusion des cartes sur le Web.

KompoZer. Composition du site : _ une page d'accueil : index.html. _ une page pour la théorie : theorie.html. _ une page pour les photos : photos.

Etude de cas : PGE JEE V2

Table des matières. 10 Gimp et le Web. Option de traitement d'images Mémento pour la séance N o Création d'animation

Guide de réalisation d une campagne marketing

Mathématiques et petites voitures

Formation > Développement > Internet > Réseaux > Matériel > Maintenance

NFA016 : Introduction. Pour naviguer sur le Web, il faut : Naviguer: dialoguer avec un serveur web

VOS PREMIERS PAS AVEC TRACENPOCHE

RESPONSIVE WEB DESIGN

pcon.planner 6 Préparer et présenter une implantation en toute simplicité

Partager mes photos sur internet

Algorithmique avec Algobox

Dans l idéal, ceci devrait être fait en amont pour chaque image envoyée sur l espace de stockage de votre site internet.

Tp_chemins..doc. Dans la barre "arche 2" couleur claire 1/5 21/01/13

Compte-rendu de projet de Système de gestion de base de données

ING & NEWSLETTER NEWSLETTER RESPONSIVE

Initiation à html et à la création d'un site web

CALAMEO. Publier et partager vos documents sur la toile

1. La notion de cascade

.. CSS. Damien Nouvel. Damien Nouvel (Inalco) CSS 1 / 15

Cercle trigonométrique et mesures d angles

Formation : WEbMaster

Chapitre 2. Classes et objets

La C.A.O (Conception Assistée par Ordinateur). Le logiciel de C.A.O.

Guide Draw. Chapitre 5 Combiner plusieurs objets

Le plombier chauffagiste a aussi besoin de cette représentation pour savoir ce qu il y a à l intérieur de la maison au niveau des hauteurs.

Paris et New-York sont-ils les sommets d'un carré?

Nom : Groupe : Date : 1. Quels sont les deux types de dessins les plus utilisés en technologie?

RÉALISATION DE GRAPHIQUES AVEC OPENOFFICE.ORG 2.3

Évaluation des compétences. Identification du contenu des évaluations. Septembre 2014

Langage HTML (2 partie) <HyperText Markup Language> <tv>lt La Salle Avignon BTS IRIS</tv>

Comment tracer une droite représentative d'une fonction et méthode de calcul de l'équation d'une droite.

1 Création d une pièce. 2 Travail complémentaire. 1-1 Réglage des barres d outils. 1-2 Exemples de réalisation de pièces à l aide d un modeleur 3D

Test : principe fondamental de la dynamique et aspect énergétique

Serveur d'application Client HTML/JS. Apache Thrift Bootcamp

L informatique et la formation en direction des élus

Modélisation PHP Orientée Objet pour les Projets Modèle MVC (Modèle Vue Contrôleur) Mini Framework

Vue 2D / 3D / Dessin / Cotation Utilise : Logiciel edrawings Fichier.EPRT Dossier Tp-eDrawings

LANGAGUE JAVA. Public Développeurs souhaitant étendre leur panel de langages de programmation

Module ebay pour PrestaShop Guide du vendeur

RapidMiner. Data Mining. 1 Introduction. 2 Prise en main. Master Maths Finances 2010/ Présentation. 1.2 Ressources

Introduction à Expression Web 2

Description des pratiques à adopter pour la mise à jour du layout en utilisant le gestionnaire de conception de Sharepoint 2013

L'instruction if permet d'exécuter des instructions différentes selon qu'une condition est vraie ou fausse. Sa forme de base est la suivante:

Guide pour la réalisation d'un document avec Open Office Writer 2.2

Initiation aux techniques du Web. Cours L2 sciences cognitives séance 2 Charif HAYDAR: alchiekc@loria.fr

Tarif MediaSpecs plate-forme Valable à partir du 01/01/2015

Editeur html Guide de l'utilisateur

Traitement par lot redimensionner des images

HTML. Notions générales

SPÉCIFICATIONS TECHNIQUES DES FORMATS PUBLICITAIRES

C.F.A.O. : Conception et Fabrication Assistées par Ordinateur.

Auguria_PCM Product & Combination Manager

Cours de D.A.O. Mécanique

T u t o r i e l s PhotoFiltre

Zope: une plateforme collaborative de développement web open source

Attaques de type. Brandon Petty

Permission is granted to copy, distribute and/or modify this document under the terms of the GNU Free Documentation License,

Ceci est un aperçu du livre "QCAD - Introduction à la conception assistée par ordinateur (CAO)" QCAD

Introduction : Cadkey

Spécifications techniques

DETERMINER LA LARGEUR DE PAGE D'UN SITE et LES RESOLUTIONS d'ecran

Raja Bases de données distribuées A Lire - Tutoriel

INTRODUCTION A JAVA. Fichier en langage machine Exécutable

HTML, CSS, JS et CGI. Elanore Elessar Dimar

Relever le défi du Web mobile

1. Installation du Module

Flex. Lire les données de manière contrôlée. Programmation Flex 4 Aurélien VANNIEUWENHUYZE

RAPPORT AUDIT SEO. Élaboré à l'attention de : Monsieur Greber Élaboré par : Cédric Peinado

DOM - Document Object Model

Vous devez tout d abord réaliser l esquisse (le dessin de la pièce en 2 dimensions) avant de mettre cette pièce en volume.

contact@nqicorp.com - Web :

TUTORIEL PAINTPOT. Louise Henninot - Anne- Cécile Patou - Julie Roquefort

Parcours guidé : créer des pages simples au format html avec Nvu 28/1/10

Grille fluide. Une grille fluide sert à structurer la mise en page, la rendre harmonieuse et faciliter le passage au responsive web design

Atelier de Création de pages Web

CONSTRUCTION DE SITES WEB

Procédure : Sauvegarder un Windows 7 sur un disque réseau

Exemple d application en CFD : Coefficient de traînée d un cylindre

TBI et mathématique. Pour vous soutenir dans votre enseignement des mathématiques. Les outils du logiciel Notebook. les ressources internet

UN SITE WEB RESPONSIVE EN UNE HEURE?

Manuel de dessin Floorplanner. Floorplanner. Manuel de dessin. Page. Sujet. Sujet. Page Floorplanner Avancé. 1.

Normes techniques 2011

Utilisation du logiciel GALAAD

LibreOffice Calc : introduction aux tableaux croisés dynamiques

Je sais utiliser. Logiciel gratuit de gestion des photos. Étude en 5 parties

Initiation au dessin Bitmap

Le Plugin SPIP FreepapeR 2 visualiser les fichiers PDF dans les pages WEB

AGASC / BUREAU INFORMATION JEUNESSE Saint Laurent du Var Tel : bij@agasc.fr Word: Les tableaux.

Publication Assistée par Ordinateur

Document Object Model (DOM)

Savoir construire une photographie. Connaitre la base en technique photographique. Savoir traduire le message du mouvement en image.

Transcription:

108

Chapitre 7 Canvas 7.1 Introduction <canvas> est un élément HTML qui peut être utilisé pour produire des éléments graphiques sur une page web, en utilisant javascript. Par exemple, il peut être utilisé pour dessiner des graphiques, faire des compositions de photos ou encore faire des animations. La balise <canvas> est donc un moyen de créez des dessins sur une page web une balise, à écrire dans le corps () d'une page 7.2 Les attributs de <canvas> La balise <canvas> prend généralement les attributs suivants : id : un identiant qui nous permettra, par la suite, d'accéder à la balise pour y produire le dessin width : la largeur de la surface de dessin height : la hauteur de la surface de dessin Nous avons donc la syntaxe suivante : <canvas id='...' width='...' height='...'> 7.3 Intitialiser <canvas> 7.3.1 document.getelementbyid(...) La création d'un dessin se fait à l'aide d'instructions javascript, écrites dans la partie head d'une page HTML. A l'aide de document.getelementbyid(...) 109

110 CHAPITRE 7. CANVAS nous pouvons accéder au canvas. Voici donc les premières étapes pour produire un dessin sur une page à l'aide de <canvas> : document.getelementbyid('moncanvas') 7.3.2 getcontext('2d') La fonction getcontext('2d') permet d'obtenir une variable, que nous allons appeler ctx (abréviation pour contexte). Ce contexte contient les fonctions de canvas moveto(...), lineto(...), etc... var ctx document.getelementbyid('moncanvas').getcontext('2d') 7.3.3 Fonction d'initialisation Il est plus judicieux de mettre les instructions ci-dessus dans une fonction, que nous appellerons initialiser() et qui sera appelée au chargement de la page <body onload='initialiser()'>

7.3. INTITIALISER <CANVAS> 111 var ctx function initialiser(){ document.getelementbyid('moncanvas').getcontext('2d') <body onload='initialiser()'> 7.3.4 Fonction de dessin L'objet ctx contient les méthodes pour créer des dessins, comme moveto(...), lineto(...), etc... Dans une fonction (nommée dessiner() ci-dessous), nous pouvons écrire les instructions de dessin (qui, en l'occurence dessinent un triangle rectangle). var ctx function initialiser(){ document.getelementbyid('moncanvas').getcontext('2d') function dessiner(){ ctx.moveto(100,100) ctx.lineto(100,50) ctx.lineto(50,100) ctx.lineto(100,100) <body onload='initialiser();dessiner()'>

112 CHAPITRE 7. CANVAS 7.3.5 Notion de chemin Pour que le dessin s'ache, il est nécessaire de dénir un chemin (path), à l'aide de beginpath(). Une fois le chemin créé, on utilise stroke() le contour du chemin, ou ll() pour remplir la forme. var ctx function initialiser(){ document.getelementbyid('moncanvas').getcontext('2d') function dessiner(){ ctx.beginpath() ctx.moveto(100,100) ctx.lineto(100,50) ctx.lineto(50,100) ctx.lineto(100,100) ctx.stroke() <body onload='initialiser();dessiner()'>

7.4. RÉSUMÉ SUR L'INITIALISATION DE <CANVAS> 113 7.3.6 Résultat En exécutant les instructions de la section précédente, nous obtenons la gure ci-contre 7.4 Résumé sur l'initialisation de <canvas> Sur la gure 7.4, nous présentons encore une fois, sous une forme résumée, les instructions d'initialisation de <canvas> : A : La balise <canvas> Figure 7.1 Résultat <canvas> Mettre, dans le corps de la page, une balise <canvas> avec les attributs suivants : l'identiant (id) donne un nom à l'élément, ce qui permet d'y accéder la largeur (width) la hauteur (height) B : La fonction qui initialise la surface de dessin Dans un script, écrit dans la partie head du document HTML un fonction permet d'initialiser la surface de dessin. Voir partie B de la gure 7.4 C : L'appel de la fonction d'initialisation A l'aide d'un événement, appler la fonction d'initialisation. Voir partie C de la gure 7.4 7.5 Les images <canvas> nous donne la possibilité de dessiner des images. Ceci peut par exemple être utilisé pour faire un album de photos, mettre un arrière-plan à un graphique, etc... L'importation d'une image dans canvas est composée de 2 étapes : 1. la création de l'image (dont on connait l'url) 2. le dessin de l'image dans canvas

114 CHAPITRE 7. CANVAS Figure 7.2 Résumé de l'initialisation de <canvas> 7.5.1 Création d'une image Une façon de créer une image est d'en faire un nouvel objet, puis de faire correspondre son attribut source (src) à l'url de l'image que nous voulons acher : var img = new Image() ; // Création de l'objet 'image' img.src = 'myimage.png' ; // Faire correspondre sa source à l'adresse d'une image. 7.5.2 Dessin d'une image dans <canvas> Une fois l'image créée, la fonction drawimage(image,x,y) permet de dessiner l'image dans le canvas, en plaçant le coin supérieur gauche de l'image aux coordonnées (x,y). 7.6 Transformations géométriques 7.6.1 Introduction Canvas ore des méthodes permettant d'appliquer des changements au référentiel (le système d'axes) pour eectuer

7.6. TRANSFORMATIONS GÉOMÉTRIQUES 115 des changements d'échelle des rotations des translations 7.6.2 Changement d'échelle : scale(x,y) La fonction scale(x,y permet de changer l'échelle (i.e faire un zoom). x correspond au changement d'échelle suivant l'axe horizontal, tandis que y correspond au changement d'échelle suivant l'axe vertical. Les 2 paramètres doivent être des nombres entiers ; les nombres inférieurs à 1 correspondent à un rétrécissement, tandis que les nombres supérieurs à 1 correspondent à un aggrandissement. 7.6.3 Translation : translate(dx,dy) La fonction translate(dx,dy) permet de déplacer le référentiel du canvas d'une distance horizontale dx et d'une distance verticale dy. Il est important de noter que, à la diérence de SVG, c'est le référentiel, et non les objets qui se déplacent. 7.6.4 Rotation : rotate(angle) La méthode rotate(angle) permet de tourner le référentiel, autour de l'origine. Un angle positif correspond à une rotation dans le sens des aiguilles d'une montre. Pour faire une rotation autour d'un autre point, on fera d'abord une translation (à l'aide de la méthode translate(dx,dy)), puis la rotation.