首頁 > web前端 > css教學 > 如何在 SVG 中使用遮罩從影像中剪切圓形部分?

如何在 SVG 中使用遮罩從影像中剪切圓形部分?

Susan Sarandon
發布: 2024-10-23 15:23:02
原創
948 人瀏覽過

How to Cut a Circular Part from an Image Using a Mask in SVG?

從影像中剪下圓形部分

嘗試使用 SVG 路徑剪輯影像時,有時會出現影像未正確貼合的情況。若要實現所需的圓形切口,請依照下列步驟操作:

以下 CSS 程式碼使用提供的 SVG 路徑定義剪輯路徑。但是,影像仍然可能無法正確匹配。

<code class="css">.topbar-chat-img {
  width: 48px;
  height: 48px;
  object-fit: cover;
  clip-path: url(#topbar-img-svg);
}</code>
登入後複製

要解決此問題,可以採用替代的 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>
    <pattern id="img" patternUnits="userSpaceOnUse" width="200" height="200">
      <image xlink:href="image.jpg" x="0" y="0" width="200" height="200" />
    </pattern>
  </defs>

  <rect fill="url(#img)" width="100%" height="100%" mask="url(#hole)" />
</svg></code>
登入後複製

此方法在 SVG 中定義一個遮罩,確保圓形切口乾淨。在 中使用 fill="url(#img)"標籤以所需的影像填滿矩形,套用蒙版以達到預期的效果。

以上是如何在 SVG 中使用遮罩從影像中剪切圓形部分?的詳細內容。更多資訊請關注PHP中文網其他相關文章!

來源:php
本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
作者最新文章
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板