Sto cercando di creare un aspetto di texture di carta con svg, che ho funzionato abbastanza bene, usando una sovrapposizione trasparente per aggiungere la texture al colore di base dell'elemento svg sottostante.È possibile avere una scala SVG adatta per il genitore, mantenendo una dimensione di riempimento statico?
Tuttavia, noto che la trama viene ridimensionata con SVG. Poiché l'immagine è impostata sulla larghezza della pagina, su monitor di grandi dimensioni diventa estremamente tesa e non sembra molto bella.
È possibile avere automaticamente la scala di asset svg, con un riempimento di modello a dimensione fissa?
Ecco un codepen con un esempio completo: http://codepen.io/mix3d/pen/jWMPQE
EDIT: aggiornato codepen con svg reale, non un teorico uno
punti di bonus se lo SVG può allungare con le piastrelle di riempimento dal centro . Grazie!
Questo è come lo SVG sembra attualmente, ma le scaglie di struttura con l'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 hai qualche esempio di questo? Sono sicuro che potrebbero essere incorporati, voglio solo controllare. Grazie! – mix3d
Qualche ragione per cui non vuoi usare un'immagine di sfondo? Sarebbe facilmente centrato e piastrellato. –
@JesseKernaghan Il motivo principale è perché il vero svg non è un rettangolo, ma un poligono con i bordi "carta tagliata" – mix3d