aziz@daaif.net
Raphael JS est une bibliothèque javascript qui permet de créer, de manipuler et d'animer des dessins vectoriels.
Raphael JS est compatible avec tout les navigateurs y compris IE.
Pour les navigateurs modernes, il génère des noeuds SVG, et pour les anciennes versions d'IE, il génère du VML
rect1.attr('stroke-width', 12); // Ecriture d'un attribut
var couleur = rect2.attr('fill'); // Lecture d'un attribut
// Ecriture de plusieurs attributs à la fois
rect3.attr({
stroke : '#bada07',
'stroke-width' : 20
});
var couleur = 'red';
couleur = 'rgb(255,0,0)';
couleur = 'rgb(100%,0%,0%)';
couleur = 'rgba(255,0,0,0.7)'; // a = canal alpha 0 -> 1
couleur = 'hsb(0,1,0.5)'; // hue, saturation et brightness
couleur = 'hsba(0,1,0.5,0.8)'; // canal alpha
couleur = 'hsl(0,1,0.5)'; // hue, saturation et lightness
couleur = 'hsla(0,1,0.5,0.8)'; // canal alpha
La création des dégradés est simplifiée :
// Syntaxe des dégradés linéaires
// "‹angle›-‹colour›[-‹colour›[:‹offset›]]*-‹colour›"
// Exemples :
var deg1 = '90-#fff-#000';
var deg2 = '45-red-orange-yellow-green-blue-violet';
// Syntaxe des dégradés radiaux
// "r[(‹fx›, ‹fy›)]‹colour›[-‹colour›[:‹offset›]]*-‹colour›"
// Exemples :
var deg3 = 'r#fff-#000';
var deg4 = 'r(0.25, 0.75)#fff-#000';
Toutes les transformations s'effectuent par rapport au centre de l'objet
Raphael JS utilise une notation particulière
var group = paper.set();
group.push(paper.rect(10,10,10,10), paper.circle(50,50,10));
// On peut biensur imbriquer les groupes
Prend en charge :
tout les évenements de la sourie :
le drag and drop :
Les événements du clavier peuvent être ajoutés à l'aide JS
Les animations sont réalisées en altérant un ou pluiseurs attributs des élément au cours du temps.
On peut animer un élément ou un groupe d'éléments en utilisant la méthode animate(). Cette méthode peut être appelée de plusieurs façons :
L'avantage ici, est que l'animation peut être appliquée à n'importe quel objet.