Heim > Web-Frontend > CSS-Tutorial > Hauptteil

Wie korrigiert man falsch ausgerichtete kreisförmige Ausschnitte mithilfe von Masken in SVG?

Barbara Streisand
Freigeben: 2024-10-23 15:24:02
Original
391 Leute haben es durchsucht

How to Correct Misaligned Circular Cutouts Using Masks in SVG?

Kreisförmige Abschnitte aus einem Bild mit SVG ausschneiden

Ihr aktueller Versuch, mit einem Clip-Pfad einen kreisförmigen Abschnitt aus einem Bild auszuschneiden, wird nicht richtig ausgerichtet. Um dieses Problem zu beheben, untersuchen wir einen anderen Ansatz mit Masken in SVG.

<code class="svg"><svg width="200" height="200">
  <defs>
    <mask id="hole">
      <circle r="100" cx="100" cy="100" fill="white"/>
      <circle r="50" cx="180" cy="180" fill="black"/>
    </mask>
  </defs>
  <pattern id="img" patternUnits="userSpaceOnUse" width="200" height="200">
    <image  xlink:href="https://picsum.photos/200/200?image=1069" x="0" y="0" width="200" height="200" />
  </pattern>
  <rect fill="url(#img)" width="100%" height="100%" mask="url(#hole)" />
</svg></code>
Nach dem Login kopieren

Dieser Code erstellt ein SVG mit einem auf Rosa eingestellten Hintergrund. Innerhalb des Defs-Elements definieren wir eine Maske namens „hole“. Diese Maske besteht aus zwei Kreisen: einem großen weißen Kreis, der den kreisförmigen Bereich darstellt, den Sie aus dem Bild behalten möchten, und einem kleineren schwarzen Kreis, der den Ausschnitt bestimmt.

Das nächste Element ist ein Muster namens „img“. Dieses Muster gibt das Bild an, das Sie als Füllung für die Form verwenden möchten. Wir stellen die Abmessungen des Musters so ein, dass sie mit der Größe der SVG-Datei übereinstimmen, und verwenden ein Bild von einer URL.

Schließlich erstellen wir ein Rechteck, das den gesamten Raum der SVG-Datei ausfüllt. Die Füllung des Rechtecks ​​ist so eingestellt, dass sie auf das „img“-Muster verweist, und wir wenden die „Loch“-Maske an, um den kreisförmigen Abschnitt auszuschneiden.

Das obige ist der detaillierte Inhalt vonWie korrigiert man falsch ausgerichtete kreisförmige Ausschnitte mithilfe von Masken in SVG?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Quelle:php
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Neueste Artikel des Autors
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage
Über uns Haftungsausschluss Sitemap
Chinesische PHP-Website:Online-PHP-Schulung für das Gemeinwohl,Helfen Sie PHP-Lernenden, sich schnell weiterzuentwickeln!