Donc, j'ai un fichier SVG en HTML, et l'une des choses que j'ai entendues à propos du format est qu'il ne se pixellise pas entièrement lorsque vous zoomez dessus.
Je sais qu'avec un jpeg ou quoi que ce soit, je pourrais l'avoir stocké sous forme d'icône 50 par 50, puis l'afficher en fait comme une miniature (plutôt pixélisée) de 100 par 100 (ou 10 par 10), en définissant manuellement la hauteur et la largeur dans l'image_src marque.
Cependant, les fichiers SVG semblent être utilisés avec des balises d'objet / incorporé, et la modification de la hauteur ou de la largeur de CEUX entraîne simplement l'allocation de plus d'espace pour l'image.
Existe-t-il un moyen de spécifier que vous souhaitez qu'une image SVG soit affichée plus petite ou plus grande qu'elle ne soit réellement stockée dans le système de fichiers?
Essayez ceci:
Définissez la zone de visualisation manquante et remplissez les valeurs de hauteur et de largeur des attributs de hauteur et de hauteur définis dans la balise svg
Mettez ensuite l'image à l'échelle en réglant simplement la hauteur et la largeur sur les valeurs de pourcentage souhaitées . Bonne chance.
Définissez un rapport hauteur / largeur fixe avec
preserveAspectRatio="X200Y200 meet
(par exemple 200 px), mais ce n'est pas nécessairepar exemple
la source
vous pouvez le redimensionner en affichant svg dans la balise d'image et la balise d'image de taille ie
la source
La modification de la largeur du conteneur corrige également ce problème plutôt que de modifier la largeur et la hauteur du fichier source.
Cela résout mon problème de redimensionnement de svg. vous pouvez donner n'importe quel% en fonction de vos besoins.
la source
Je l' ai trouvé préférable d'ajouter
viewBox
et d'preserveAspectRatio
attributs à mes SVGs. La zone de visualisation doit décrire la largeur et la hauteur complètes du SVG sous la forme0 0 w h
:la source
Utilisez le code suivant:
la source
Voici un exemple d'obtention des limites en utilisant
svg.getBox()
: https://gist.github.com/john-doherty/2ad94360771902b16f459f590b833d44À la fin, vous obtenez des numéros que vous pouvez brancher sur le svg pour définir correctement la zone de visualisation. Ensuite, utilisez n'importe quel css sur le div parent et vous avez terminé.
la source
Les graphiques SVG, comme les autres œuvres créatives, sont protégés par la loi sur les droits d'auteur dans la plupart des pays. En fonction de la juridiction, de la licence de l'œuvre ou du fait que vous soyez ou non le titulaire des droits d'auteur, vous ne pourrez peut-être pas modifier le SVG sans enfreindre la loi sur les droits d'auteur , croyez-le ou non.
Mais les lois sont des sujets délicats et parfois vous voulez juste faire la merde. Par conséquent, vous pouvez ajuster l'échelle du graphique sans modifier le travail lui-même en utilisant la
img
balise avecwidth
attribut dans votre HTML.Utilisation d'une requête HTTP externe pour spécifier la taille:
Spécification de la taille dans le balisage à l'aide d'un URI de données :
Les SVG peuvent être optimisés pour les URI de données afin de créer des images SVG Favicon adaptées à toutes les tailles:
la source