2014-06-09 1 views
3

j'ai une toile HTML avec un rectangle comme celui-ci:formes Centrés sur toile HTML

var c=document.getElementById("myCanvas"); 
var ctx=c.getContext("2d"); 
ctx.rect(20,20,150,100); 
ctx.stroke(); 

Est-il possible de centrer ce rectangle dans la toile avec css? Je veux qu'il reste centré indépendamment de la largeur de la toile.

Répondre

3

n °

La toile est juste un tas de pixels. Il n'y a aucun élément pour que CSS influence.

Si vous voulez centrer quelque chose à l'intérieur de la toile, alors vous devez choisir le bon endroit pour mettre les pixels que vous coloriez en premier lieu.

Vous pourriez être mieux d'utiliser SVG pour vos graphiques, surtout s'il s'agit de simples honte comme des rectangles.

+0

Lorsque vous redimensionnez le canevas, tout le contenu sera supprimé du canevas. Ainsi, lorsque vous redimensionnez le canevas, vous pouvez simplement redessiner les rectangles dans un nouvel emplacement centré. D'accord sur SVG. Puisque les fichiers SVG sont des éléments DOM réels, vous pouvez les redistribuer lors du redimensionnement. :-) – markE

+1

+1 pour les SVG. J'aime le vecteur. – bjb568