Maison > interface Web > tutoriel CSS > le corps du texte

Comment découper une section circulaire précise à partir d'une image à l'aide de SVG ?

Mary-Kate Olsen
Libérer: 2024-10-23 14:40:02
original
330 Les gens l'ont consulté

How to Clip an Accurate Circular Section from an Image Using SVG?

Découper une partie circulaire d'une image : un guide complet

Dans le domaine de la manipulation d'images, la capacité d'extraire un segment circulaire d'une image avec précision est essentielle pour diverses applications. Cet article vise à relever les défis rencontrés lors de la réalisation de cette tâche à l'aide de chemins SVG.

Le problème survient lorsque l'image obtenue après détourage n'est pas conforme à la forme circulaire souhaitée. La principale préoccupation concerne l’ajustement et l’alignement de l’image dans le SVG défini. En fournissant un guide étape par étape, cet article propose une solution à ce problème.

Comprendre le code sous-jacent

L'extrait CSS fourni tente de découper une image via la propriété clip-path , qui fait référence à un SVG contenant un chemin circulaire. Cependant, le contenu de l'image semble déformé et mal aligné. Cet écart découle de la nécessité d'un dimensionnement et d'un positionnement appropriés à la fois du SVG et de l'image qu'il contient.

Une approche simple et efficace

Pour résoudre ce problème, explorons une méthode alternative utilisant SVG qui simplifie le processus tout en maintenant la précision :

<code class="html"><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>
  <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>
  </defs>
  <rect fill="url(#img)" width="100%" height="100%" mask="url(#hole)" />
</svg></code>
Copier après la connexion

Disséquer la solution

Cette approche basée sur SVG combine les éléments suivants :

  1. Deux et un motif.
  2. Le se compose de deux cercles qui se chevauchent ; un grand cercle blanc représente la forme circulaire souhaitée, tandis qu'un cercle noir plus petit masque une section à l'intérieur du cercle blanc.
  3. L'élément de motif comprend un qui importe l'image cible.
  4. Enfin, une balise L'élément remplit toute la zone SVG avec le motif susmentionné. L'attribut masque fait référence au précédemment défini, découpant efficacement l'image à la forme circulaire souhaitée.

Conclusion

En utilisant cette technique, vous pouvez facilement obtenir un découpage précis. partie circulaire d’une image, atténuant ainsi tout problème d’alignement ou de distorsion. Cette méthode améliorée garantit une intégration transparente dans votre conception ou application, offrant les découpes circulaires parfaites que vous désirez.

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

source:php
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Derniers articles par auteur
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal