L'échelle et miroir de l'objet SVG
Comment puis-je plus facilement d'abord à l'échelle d'un objet, disons 2 * fois il est au courant de la taille, puis de le retourner verticalement et horizontalement, ou les deux?
Maintenant, je peux soit le mettre "à l'échelle(2,2)" pour qu'elle devienne 2 fois plus grand que la largeur et la hauteur, mais je ne peux pas retourner à la même échelle(-1, 1) pour la rotation verticale.
Je suis en création d'objets SVG par programme, en tant que format d'exportation.
transform: scale (-1, 1); transform-origin: center;
est tout ce qui est nécessaire maintenant.
Vous devez vous connecter pour publier un commentaire.
D'appliquer à la fois l'échelle et flip, juste la liste à la fois dans votre transformation.
ou tout simplement de combiner les valeurs
Bien sûr, le problème que vous avez avec négatif échelles est que les objets sont retournés à travers l'origine (en haut à gauche) de la SVG, donc ils peuvent aller au-delà du bord du document. Vous avez besoin de corriger cela en ajoutant un traduire ainsi.
Ainsi, par exemple, imaginons que nous ayons un document qui est 100x100.
À inverser verticalement nous n':
et de corriger le mouvement hors de l'écran, soit nous décalage négatif avant de la retourner (donc il s'est renversé en arrière sur l'écran):
(La traduction est en deuxième ici en raison de transformation de listes de l'application efficace de droite à gauche)
ou nous pouvons nous déplacer positifs à l'échelle de la taille) par la suite:
Voici une démo montrant flip vertical, horizontal flip et les deux flips
Mise à jour
De flip (en position) un objet qui est quelque part sur l'écran. D'abord déterminer sa boite (minX, minY, maxX, maxY), ou centreX,centreY si vous savez déjà que la place.
Puis ajouter le suivant à de sa transformation:
ou si vous avez le centre, vous pouvez utiliser
Donc dans votre exemple:
La minX+maxX s'élève à 200. Afin de renverser horizontalement, nous prepend:
Donc l'objet final devient:
Démo ici
Ici est le Livescript-ish extrait de code comment vous pouvez horizontalement flip et l'échelle par un facteur:
De retourner toute la SVG, ci-dessous
Lieu ce à SVG tag