SVGで2つの画像を使用して画像マスクを作成するときに、画像の不透明度を保持するにはどうすればよいですか?下の写真に見られるように、画像はほぼ透明です-完全に不透明である必要があります。なぜこれが発生するのですか?また、マスクされた製品に100%の不透明度を強制するにはどうすればよいですか?
これが私が得ている結果です:
これが私が使用しているマスク画像です:
これが私のコードです(PHP変数については申し訳ありません):
<svg width="'.$width.'" height="'.$height.'" version="1.1"
xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
<defs>
<mask id="mask'.$id.'" maskUnits="userSpaceOnUse"
x="0" y="0" width="'.$width.'" height="'.$height.'">
<image id="maskImg'.$id.'" x="0" y="0" width="'.$width.'px" height="'.$height.'px"
xlink:href="images/'.$treatment_url.'" >
</image>
</mask>
<g id="imgGroup'.$id.'">
<rect x="0" y="0" width="'.$width.'" height="'.$height.'" fill="rgba(30,30,30,0.2)" />
<image id="listingImg'.$id.'"
x="0" y="0" width="'.$width.'px" height="'.$height.'px"
xlink:href="'. $img_url .'">
</image>
</g>
</defs>
<use xlink:href="#imgGroup'.$id.'" mask="url(#mask'.$id.')" opacity="1" />';
</svg>
参考:グループ<rect>
内の<g>
グループは、MASKED画像のxまたはy次元がMASKING画像よりも小さい場合に背景を提供するためのものです。両方の方法で試したので、私が抱えているマスキングの問題には影響しません。
私は困惑しています、そしてどんな助けにも感謝します!