Ich versuche, ein Papier Textur Look mit Svg, die ich ziemlich gut arbeiten, mit einem transparenten Overlay, um die Textur über die Grundfarbe des Svg-Element darunter hinzuzufügen.Ist es möglich, eine SVG-Skalierung für übergeordnete Elemente zu verwenden, um eine statische Füllgröße beizubehalten?
Allerdings merke ich, dass die Textur mit dem SVG skaliert. Da das Bild auf die Breite der Seite eingestellt ist, wird es auf großen Monitoren extrem gestreckt und sieht nicht sehr gut aus.
Ist es möglich, den SVG-Asset-Maßstab automatisch mit einer Musterfüllung mit fester Größe zu erhalten?
ist hier ein codepen mit einem vollständigen Beispiel: http://codepen.io/mix3d/pen/jWMPQE
EDIT: Aktualisiertes mit tatsächlichen svg codepen, keine theoretischen
Bonuspunkte, wenn der SVG mit der Füllung Fliesen von der Mitte dehnt . Vielen Dank!
Dies ist, wie die SVG sieht zur Zeit, aber die Textur skaliert mit der svg
<svg version="1.1" id="paper_svg" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px"
viewBox="10 0 1526 407.93">
<style type="text/css">
.overlay{fill:url(#img1);fill-opacity:1;}
.circle{fill:#62B4B8;}
</style>
<defs>
<pattern id="img1" patternUnits="userSpaceOnUse" width="243" height="201">
<image xlink:href="http://i.imgur.com/grtbkje.png" x="0" y="0" width="486" height="402" />
</pattern>
<filter id="f3" x="-40%" y="0" width="180%" height="400%">
<feOffset result="offOut" in="SourceAlpha" dx="0" dy="3" />
<feGaussianBlur result="blurOut" in="offOut" stdDeviation="3" />
<feColorMatrix in="blurOut" result="transparency" type="matrix"
values="0 0 0 0 0
0 0 0 0 0
0 0 0 0 0
0 0 0 .5 0"/>
<feBlend in="SourceGraphic" in2="transparency" mode="normal" />
</filter>
</defs>
<g>
<circle id="Background_Circle" class="circle" cx="280.52" cy="226.67" r="166.67"/>
<!-- I know I could probably use a filter to achieve the same overlay effect, but this worked for now, duplicate the object with the semi-transparent fill pattern -->
<circle id="Background_Circle" class="overlay" cx="280.52" cy="226.67" r="166.67"/>
</g>
</svg>
@RobertLongson Sie haben keine Beispiele dafür? Ich bin mir sicher, dass sie eingebettet werden könnten, wollen nur überprüfen. Vielen Dank! – mix3d
Sie möchten kein Hintergrundbild verwenden? Es würde leicht zentriert und gekachelt werden. –
@JesseKernaghan Der Hauptgrund ist, weil die tatsächliche SVG ist kein Rechteck, sondern ein Polygon mit "Papierschnitt" Kanten – mix3d