Les formats vectoriels. Exemple : le format SVG



Documents pareils
Formation HTML / CSS. ar dionoea

1. La notion de cascade

LES GRANDES ETAPES DE CREATION D UN WEB DESIGN

Carta Genius Guide utilisateur

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

Programme de formation Photoshop : Initiation 24 heures de formation (3 jours) 1/2

Vision industrielle et télédétection - Détection d ellipses. Guillaume Martinez 17 décembre 2007

RESPONSIVE WEB DESIGN

8.1 Généralités sur les fonctions de plusieurs variables réelles. f : R 2 R (x, y) 1 x 2 y 2

Supports. Images numériques. notions de base [1]

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

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

Adobe Illustrator Logiciel de dessin vectoriel et de Cartographie Assistée par Ordinateur

2013 Pearson France Adobe Illustrator CC Adobe Press

UN SITE WEB RESPONSIVE EN UNE HEURE?

GIMP. Le traitement d'images libre INSTALLATION SUR WINDOWS

Media queries : gérer différentes zones de visualisation

HTML, CSS, JS et CGI. Elanore Elessar Dimar

Création de maquette web

Initiation à linfographie

L interface Outils, palettes, règles, repères, grille Paramétrer les préférences

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

Published : License : GPL

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

Gestion Électronique de Documents et XML. Master 2 TSM

My Custom Design ver.1.0

Modules Multimédia PAO (Adobe)

Chapitre 2 : Caractéristiques du mouvement d un solide

Fête de la science Initiation au traitement des images

Amphi 3: Espaces complets - Applications linéaires continues

Les algorithmes de base du graphisme

Initiation au dessin Bitmap

Opérations de base sur ImageJ

Introduction : Cadkey

JOOMLA 1.5 avancé SUPPORT DE COURS + annexe

Responsive Design. Technologies du web. Stéphane Bouvry, 2014

Fonctions de plusieurs variables

HMI target Visu / PLC HMI. Pour réaliser une interface homme machine avec PLC control

Cercle trigonométrique et mesures d angles

Tutoriel : Feuille de style externe

Travaux dirigés n 10

Note de cours. Introduction à Excel 2007

Convers3 Documentation version Par Eric DAVID : vtopo@free.fr

31. OOo Draw Réglages propres à Draw

Introduction à Expression Web 2

SII Stage d informatique pour l ingénieur

F411 - Courbes Paramétrées, Polaires

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

Aide GeoGebra. Manuel Officiel 3.2. Markus Hohenwarter et Judith Hohenwarter

L espace de travail de Photoshop

PR OC E D U RE S D E B A S E

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.

TD : Codage des images

COMMENCER AVEC VUE. Chapitre 1

Utiliser le logiciel Photofiltre Sommaire

Introduction W3C... FLOSS Manual Fr - Initiation à Inkscape 7

Normes techniques 2011

Deux disques dans un carré

TSTI 2D CH X : Exemples de lois à densité 1

Réalisation de cartes vectorielles avec Word

Dans l Unité 3, nous avons parlé de la

Corrigé du baccalauréat S Pondichéry 12 avril 2007

BAMOSONIC IT. - Mesure de niveau -

RESPONSIVE DESIGN : Comment offrir à vos sites une adaptabilité parfaite?

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

RIE LE RENDU THEO. 2 e trim ÉTAPE DE FINITION BOÎTE DE DIALOGUE. remarques

Créative Cloud - Perfectionnement

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

MANUEL D UTILISATION PRO-FACE

OFPPT ROYAUME DU MAROC RESUME THEORIQUE & GUIDE DE TRAVAUX PRATIQUES APPLICATIONS DE DESSIN ASSISTE PAR ORDINATEUR MODULE N 9: :BTP SECTEUR

STAGES DE FORMATION INTER-ENTREPRISES PÔLE 45 BUREAUTIQUE

Optimisation, traitement d image et éclipse de Soleil

Guide de réalisation d une campagne marketing

Importation et exportation de contenu

PROGRAMME D HABILETÉS EN FAUTEUIL ROULANT (WSP-F)

Programmation d exercices WIMS au format OEF

Cours de D.A.O. Mécanique

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

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

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

FONCTIONS DE PLUSIEURS VARIABLES (Outils Mathématiques 4)

Les images et les animations sur le web. Guérineau Chloé BTS2 Année 2001/2012

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

Cours de Mécanique du point matériel

Initiation à la programmation OEF pour Wims (exercices).

Optimiser les s marketing Les points essentiels

PHOTOSHOP - L'AFFICHAGE

Les outils de création de sites web

Math 5 Dallage Tâche d évaluation

Les types de fichiers

Sillage Météo. Notion de sillage

EVALUATIONS MI-PARCOURS CM2

T u t o r i e l s PhotoFiltre

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

JPEG, PNG, PDF, CMJN, HTML, Préparez-vous à communiquer!

1 Définition. 2 Systèmes matériels et solides. 3 Les actions mécaniques. Le système matériel : Il peut être un ensemble.un sous-ensemble..

ING & NEWSLETTER NEWSLETTER RESPONSIVE


Transcription:

Les formats vectoriels Exemple : le format SVG

Introduction SVG : c est quoi Language de description d image 2D = format vectoriel Mais pas seulement : Contenu dynamique / Animation Contenu interactif Traitement d image Basé sur du XML Fait pour le Web (Construit par W3C) Equivalent public du format flash Référence: http://www.w3.org/tr/2001/rec-svg-20010904/

Introduction SVG=Scalable Vector Graphics La visualisation des fichiers au format SVG nécessite une afficheur (viewer) MS Internet explorer Adobe svg viewer Corel SVG viewer

Exemple <?xml version="1.0" standalone="no"?> <!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 20010904//EN" "http://www.w3.org/tr/2001/rec-svg-20010904/dtd/svg10.dtd"> <svg width="5cm" height="4cm" mlns="http://www.w3.org/2000/svg"> <text x="0.5cm" y="0.5cm" width="2cm" height="1cm">le texte est ici</text> <circle cx="1cm" cy="2cm" r=".8cm" fill="red " stroke="blue" stroke-width="3"/> <rect x="3cm" y="0.5cm" width="1.5cm" height="2cm" fill="blue" stroke="green" stroke-width="5"/> <rect x="3.5cm" y="3cm" width="1cm" height="0.5cm" /> </svg>

Rappel : Principe des formats XML XML = Extensible Markup Language Balise Ex: <html> </html> ou <br/> Attribut: Ex : <p align="center">ce texte est centr&eagut;</p> DTD =Document Type Definition

Types de données de base Angle : un entier suivi de deg ( degrés ), grad ( grades ), rad ( radians ) Couleur : spécifié dans le modéle srgb ; spécification d'une couleur RGB comme en HTML : #rrggbb ou un mot-clé dans la liste : aqua, black, fuchsia, gray, green, lime, maroon, navy, olive, purple, red, silver, teal, white, yellow Entier : entre - 2147483648 et 2147483647 Réel : soit en notation décimale soit en notation scientifique ( x.yyye(ou E)±nn ) entre - 3.4e+38 et 3.4e+38 Longueur : nombre suivi d'un identifiant CSS ( mm,cm,m ) Temps : nombre suivi de ms (millisecondes ) ou de s (secondes) URI : Uniform Ressource Identifier

Structure d'un document SVG Un document SVG se compose d'un ou plusieurs fragments délimités par la balise <svg> La balise <svg> définit l'espace utilisateur Attributs de la balise <svg> x = "x0" ; position en x du coin supérieur gauche ( pour les structures internes ) y = "y0" ; position en y du coin supérieur gauche ( pour les structures internes ) width = "w0" ; largeur en pixels de l'espace ( pour les structures externes ) height = "h0" ; hauteur en pixels de l'espace ( pour les structures externes ) Le repère initiale liè au canevas est en (0,0) Les x de gauche à droite Les y de haut en bas

Les formes de bases Le rectangle <rect x="100" y="100" width="400" height="200" rx="50" fill="green" /> Le cercle <circle cx="600" cy="200" r="100" fill="red" stroke="blue" stroke-width="10" /> ellipses <ellipse rx="250" ry="100" fill="red" />

Les formes de base La line <line x1="100" y1="300" x2="300" y2="100" stroke-width="5" /> La polyligne <polyline fill="none" stroke="blue" strokewidth="10" points="50,375 150,375 150,325 250,325 " /> Le polygone <polygon fill="lime" stroke="blue" strokewidth="10" points="850,75 958,137.5 958,262.5 850,325 742,262.6 742,137.5" />

Le text <text> et ses principaux attributs <text x="50" y="150" font-family="verdana" fontsize="55" fill="blue" > Bonjour <tspan fill= "red" font-size="100"> vous</tspan> </text>

Les tracés Définit par la balise <path> Attribut d Définit le contour d une forme (chemin du tracé) Il est définit par une succession de lettre et des valeurs x et y de déplacement (suivant principe de la tortue) M => Moveto L => lineto Z => ClosePath

Les tracés Exemple : <path d="m 100 100 L 300 100 L 200 300 z" fill="red" stroke="blue" strokewidth="3" />

Les tracés Moveto M => en coordonnées absolues m => en coordonnées relatives (sauf si au début) Lineto L => absolues l => relatives H,h => déplacement horizontaux V,v => déplacement verticaux

Les tracés Il est possible de créer des courbes de bézier des enchaînements d arcs elliptiques

Regroupement <g> permet de regrouper des éléments En affectant un attribut à <g> il sera appliqué à tous les éléments contenus. Exemple: <g fill="red" > <rect x="1cm" y="1cm" width="1cm" height="1cm" /> <rect x="3cm" y="1cm" width="1cm" height="1cm" /> </g> <g fill="blue" > <rect x="1cm" y="3cm" width="1cm" height="1cm" /> <rect x="3cm" y="3cm" width="1cm" height="1cm" /> </g>

Attributs communs aux formes Les principaux Fill= peinture de remplissage (couleur, texture,dégradé ) Stroke=couleur de bordure Stroke-width= épaisseur de la bordure Opacity = valeur du canal alpha

Le référencement Il est posible de définir un élément et de lui attribuer un identifiant <defs> et <use> <defs> <circle id="anneau" fill="none" stroke-width="2" r="8.5" opacity=".5"/> </defs> <use x="20" y="20" stroke="blue" xlink:href="#anneau" /> <use x="40" y="20" stroke="black" xlink:href="#anneau" /> <use x="60" y="20" stroke="red" xlink:href="#anneau" /> <use x="30" y="30" stroke="yellow" xlink:href="#anneau" /> <use x="50" y="30" stroke="green" xlink:href="#anneau" />

Système de coordonnées, transformations et unités Les objets graphiques sont construits dans une espace appelé canevas. Le canevas est infini mais seulement une région rectangulaire de celui-ci sera affichée = viewport La viewport est définie avec des attributs de l élément svg <svg x="10" y= "10" whidth= "100" height="100">

Système de coordonnées, transformations et unités Il est possible de préciser l unité de longueur utilisée. Systèmes relatifs em resp. ex = font-size respec x-height, px = 1 unité utilisateur (sans redéfinition du système de coordonnées 1 px = 1 pixel) % = % de la taille de la «viewport» Systèmes absolus (sauf si redéfinition du sys. de coord.) "1pt" = "1.25px" (1.25 user units) "1pc" = "15px" (15 user units) "1mm" = "3.543307px" (3.543307 user units) "1cm" = "35.43307px" (35.43307 user units) "1in" = "90px" (90 user units )

Système de coordonnées, transformations et unités L attribut «transform» Il redéfinit le système de coordonnées en transformant le repère initial Exemple =>

<!-- Établit un nouveau système de coordonnées, dont l'origine est (50,30) dans le syst. coord. initial et qui est tourné de 30 degrés. --> <g transform="translate(50,30) rotate(30)"> <g fill="none" stroke="red" stroke-width="3" > <line x1="0" y1="0" x2="50" y2="0" /> <line x1="0" y1="0" x2="0" y2="50" /> </g> <text x="0" y="0" font-size="20" font-family="verdana" fill="blue" > ABC (rotate) </text> </g> <!-- Établit un nouveau système de coordonnées, dont l'origine est (200,40) dans le syst. coord. initial et qui reçoit un facteur d'échelle de 1.5. --> <g transform="translate(200,40) scale(1.5)"> <g fill="none" stroke="red" stroke-width="3" > <line x1="0" y1="0" x2="50" y2="0" /> <line x1="0" y1="0" x2="0" y2="50" /> </g> <text x="0" y="0" font-size="20" font-family="verdana" fill="blue" > ABC (scale) </text> </g>

Système de coordonnées, transformations et unités Transform = «liste de transformations» Les transformations = translate(<tx> [<ty>]) => translation de tx et ty scale(<sx> [<sy>]) changement d échelle de sx et sy rotate(<rotate-angle> [<cx> <cy>]) => rotation de <rotateangle> (en degrés) autour du point [<cx> <cy>] = translate(<cx>, <cy>) rotate(<rotate-angle>) translate(-<cx>, -<cy>). skewx(<skew-angle>) = cisaillement selon les x skewy(<skew-angle>) = cisaillement selon les y La première appliquée est la plus à droite

Remplissage, bordure et marqueur Avec SVG, on peut peindre (i.e., remplir ou donner un liseré) avec : une seule couleur ; un dégradé (linéaire ou radial) ; un motif (vecteur ou image, éventuellement en mosaïque) ; On utilise les attributs: 'fill' et 'stroke qui admettent des paramètres de «peinture»(=couleurs)

Couleurs Toutes les couleurs SVG sont spécifiées dans l'espace de couleur srgb = Standard RGB #f00 /* #rgb */ #ff0000 /* #rrggbb */ rgb(255,0,0) /* integer range 0-255 */ rgb(100%, 0%, 0%) /* float range 0.0% - 100.0% */ On peut utiliser des mots clés Exemple : red, blue,

La composition alpha simple gérée par SVG Er, Eg, Eb - Valeur de couleur de l'élément Ea - Valeur alpha de l'élément Cr, Cg, Cb - Valeur de couleur du canevas (avant mélange) Ca - Valeur alpha du canevas (avant mélange) Cr', Cg', Cb' - Valeur de couleur du canevas (après mélange) Ca' - Valeur alpha du canevas (après mélange) Ca' = 1 - (1 - Ea) * (1 - Ca) Cr' = (1 - Ea) * Cr + Er Cg' = (1 - Ea) * Cg + Eg Cb' = (1 - Ea) * Cb + Eb

Rognage, Masquage et Compostion Le rognage limite la région sur laquelle on peut dessinée. <g clip-rule="nonzero"> <clippath id="monrognage"> <path d="..." clip-rule="evenodd" /> </clippath> <rect clip-path="url(#monrognage)"... /> </g>

L animation A été développé en collaboration avec le format SMIL (voir dernier cours) SVG utilise les éléments d animation de SMIL: 'animate' permet aux attributs et aux propriétés scalaires de recevoir différentes valeurs au cours du temps 'animatemotion' déplace un élément le long d'un tracé de mouvement 'animatecolor modifie la valeur de couleur des attributs au cours du temps

Attributs communs aux animations Begin = temps de début de l animation End = temps de fin de l animation From xx to yy = le paramètre animé varie de xx à yy Dur = durée de l animation Repeatcount = nombre de répétitions Fill = définit l état à la fin de l animation (freeze remove)

L animation Exemple : animate <rect x="300" y="100" width="300" height="100" fill="rgb(255,255,0)" > <animate attributename="width" attributetype="xml" begin="0s" dur="9s" fill="freeze" from="300" to="800" /> <animate attributename="height" attributetype="xml" begin="0s" dur="9s" fill="freeze" from="100" to="300" /> </rect>

L animation Exemple : AnimateMotion <circle cx="100" cy="100" r="40" stroke="blue" stroke-width="4" fill="red"> <animatemotion dur="2s" repeatcount="indefinite" path="m50,50 v200 h200 v-200 h-200" /> </circle>

L animation Exemple : animatetransform <rect x="50" cy="100" width="50" height="50" stroke="blue" stroke-width="4" fill="red"> <animatetransform attributename="transform" attributetype="xml" type="translate" from="0,0" to="300,300" dur="2s" additive="sum" fill="freeze"/> <animatetransform attributename="transform" attributetype="xml" type="rotate" from="0" to="90" dur="2s" additive="sum" fill="freeze"/> </rect>

Les filtres = opération graphique appliquée à une source graphique Source graphique = éléments graphiques pixélisés en RGBA Source alpha= composante A d une source graphique

Les filtres Définition d un filtre <defs> <filter id="monfiltre" filterunits="userspaceonuse" x="0" y="0" width="200" height="120">/*région d appli filtre*/ <!--Ensemble des traitements appelés éléments de filtre --> <fegaussianblur in="sourcealpha" stddeviation="4" result="flou"/> </filter> </defs>

L application du filtre <g filter="url(#monfiltre)" > <g> <path fill="none" stroke="#d90000" stroke-width="10" d="m50,90 C0,90 0,30 50,30 L150,30 C200,30 200,90 150,90 z" /> <path fill="#d90000" d="m60,80 C30,80 30,40 60,40 L140,40 C170,40 170,80 140,80 z" /> <g fill="#ffffff" stroke="black" font-size="45" fontfamily="verdana" > </g> </g> <text x="52" y="76">svg</text> </g>

Les filtres Autre exemple: <fespecularlighting in="flou" surfacescale="5" specularconstant=".75" specularexponent="20" lightingcolor="#bbbbbb" result="speculairesortie"> <fepointlight x="-5000" y="-10000" z="20000" /> </fespecularlighting> utilise le tampon «flou» comme modèle pour une élévation de surface et génère un effet de lumière provenant d'une seule source.

Exemple de filtre complet

La définition du filtre source </defs> <filter id="monfiltre" filterunits="userspaceonuse" x="0" y="0" width="200" height="120"> <desc>produces a 3D lighting effect.</desc> <fegaussianblur in="sourcealpha" stddeviation="4" result="flou"/> <feoffset in="flou" dx="4" dy="4" result="floudecalage"/> <fespecularlighting in="flou" surfacescale="5" specularconstant=".75" specularexponent="20" lightingcolor="#bbbbbb" result="speculairesortie"> <fepointlight x="-5000" y="-10000" z="20000"/> </fespecularlighting> <fecomposite in="speculairesortie" in2="sourcealpha" operator="in" result="speculairesortie2"/> <fecomposite in="sourcegraphic" in2=" speculairesortie2 " operator="arithmetic" k1="0" k2="1" k3="1" k4="0" result="peintureeclairee"/> <femerge> <femergenode in="floudecalage"/> <femergenode in="peintureeclairee"/> </femerge> </filter> </defs> fecomposite fecomposite fespecularlighting fegaussianblur femerge feoffset

D autres possibilités Dégradés et motifs de remplissage Interactivité Les Scripts L extensibilité