ホームページ > ウェブフロントエンド > CSSチュートリアル > 円形の SVG マスクに合わせて画像のサイズを変更するにはどうすればよいですか?

円形の SVG マスクに合わせて画像のサイズを変更するにはどうすればよいですか?

Susan Sarandon
リリース: 2024-10-23 15:49:02
オリジナル
659 人が閲覧しました

How to Resize an Image for a Circular SVG Mask Fit?

円形の SVG パスに合わせて画像のサイズを変更する

SVG パスを使用して画像から円形の部分を切り取る場合、次のことが重要です。適切な位置合わせを確保するために。画像がうまくフィットしない場合は、SVG マスクのサイズや位置が間違っていることが原因である可能性があります。

望ましい結果を達成するための別のアプローチは次のとおりです。

使用した拡張SVG マスク:

このメソッドは、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="https://picsum.photos/200/200?image=1069" x="0" y="0" width="200" height="200" />
    </pattern>
  </defs>
  <!-- Create a rect, fill it with the image and apply the mask -->
  <rect fill="url(#img)" width="100%" height="100%" mask="url(#hole)" />
</svg></code>
ログイン後にコピー

説明:

  • #hole: これは、白と黒の 2 つの円を含む SVG マスクを定義します。白い円は表示される領域を表し、黒い円は円の外側の領域を隠すマスクを作成します。
  • #img: SVG パターンは画像を使用してパターンを定義します。 patternUnits="userSpaceOnUse" 属性により、適用先の形状に合わせてパターンが引き伸ばされます。
  • rect 要素は、SVG コンテナー全体を #img パターンで埋め、#hole マスクを適用して円形の切り抜きを表示します。

この強化されたアプローチを使用すると、画像は円形の SVG マスク内に適切に収まるようになります。

以上が円形の SVG マスクに合わせて画像のサイズを変更するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

ソース:php
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
著者別の最新記事
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート