Ajouter une image d'arrière-plan (.png) pour une SVG cercle de la forme
Est-ce possible? Ce qui suit est ce que j'ai essayé, mais il remplit complètement le cercle noir.
<svg id='vizMenu' width="700" height="660">
<defs>
<filter id="dropshadow" height="130%">
<feGaussianBlur in="SourceAlpha" stdDeviation="2"/>
<feOffset dx="0.5" dy="0.8" result="offsetblur"/>
<feMerge>
<feMergeNode/>
<feMergeNode in="SourceGraphic"/>
</feMerge>
</filter>
</defs>
<circle id='top' filter="url(#dropshadow)" cx="180" cy="120" r="80" stroke="#2E2E2E" stroke-width="2" fill="url('images/word-cloud.png')"/>
<circle id='bottom' filter="url(#dropshadow)" cx="500" cy="300" r="80" stroke="#2E2E2E" stroke-width="2" fill="url('images/word-cloud.png')"/>
<circle id='extra' filter="url(#dropshadow)" cx="180" cy="560" r="80" stroke="#2E2E2E" stroke-width="2" fill="#ffffff"/>
</svg>
- Haha il y en a beaucoup, je pense qu'ils se sentent forts se cachent derrière leurs ordinateurs. Bonne chance avec votre problème
- Je n'ai pas downvote vous, mais peut-être que c'est parce que le code que vous avez posté est l'application d'une dropshadow, pas une image de remplissage!
- Passons sur, le non-travail code pour le remplir est à l'écran. Lors de l'affichage de code d'essayer de le réduire au minimum.
- Vous ne pouvez pas faire référence à un PNG directement à partir d'un remplissage ou le contour d'attribut pour le moment. Vous aurez à envelopper l'image dans un élément du motif et de définir la manière dont il convient de carrelage et de mise à l'échelle. Voir la réponse de Duopixel.
- double possible de Remplir SVG élément de chemin avec un background-image
Vous devez vous connecter pour publier un commentaire.
Une image de fond pour un élément svg est atteint grâce à SVG Modèles...
Bien, je ne pouvais pas le faire fonctionner avec la accepté de répondre. Voilà comment j'ai fini par le faire:
Si vous souhaitez personnaliser la taille, l'utiliser comme une échelle de référence:
x = yourPreferredSize
(Cette échelle travaille pour des carrés des images)
x
ety
attributs sur la<pattern>
à la moitié de la largeur/hauteur ("x" ci-dessus). Je n'ai pas encore trouvé une explication pour pourquoi la<pattern>'s
largeur/hauteur de dépasser l'image de dimensions pour éliminer les frontières (rembourrage?), mais cela a été mon expérience en tant que bien.Je sais que c'est une vieille question, mais j'ai utilisé un filtre permettant de superposer l'image. La solution ci-dessus ne fonctionne pas pour moi à cause de la mise à l'échelle et il semblait que les images en mosaïque. J'ai utilisé ce lieu, j'espère que ça aidera d'autres personnes.
L'Image de la répétition problème résolu avec une bonne explication (Grâce à AmeliaBR)
TL;DR: Le concept de
objectBoundingBox
etpreserveAspectRatio
sont utilisés!C'est ma solution, les différences sont qu'il n'utilise pas le
patternUnits="userSpaceOnUse"
et que vous spécifiez la hauteur et la largeur de l'élément d'image.