mask-type
mask-type 屿§ã¯ããã¹ã¯æã« <mask> è¦ç´ ã®ã³ã³ãã³ãã«ä½¿ç¨ãããã¹ã¯ã¢ã¼ãï¼alpha ã¾ã㯠luminanceï¼ã示ãã¾ãã
ãã®å±æ§ã¯ã次㮠SVG è¦ç´ ã§ä½¿ç¨ãããã¨ãã§ãã¾ãã
ã¡ã¢:
ãã®ãã¬ã¼ã³ãã¼ã·ã§ã³å±æ§ã«ã¯ã CSS ããããã£ã§ç¸å½ãã mask-type ãããã¾ãã両æ¹ãæå®ããã¦ããå ´åã CSS ããããã£ãåªå
ããã¾ãã
ä¾
<svg viewBox="0 0 100 100" xmlns="http://www.w3.org/2000/svg">
<!-- Two identical masks other than the id and mask-type values -->
<mask id="myMask1" mask-type="alpha">
<rect
fill="rgb(10% 10% 10% / 0.4)"
x="0"
y="0"
width="100%"
height="100%" />
<circle fill="rgb(90% 90% 90% / 0.6)" cx="50" cy="50" r="35" />
</mask>
<mask id="myMask2" mask-type="luminance">
<rect
fill="rgb(10% 10% 10% / 0.4)"
x="0"
y="0"
width="100%"
height="100%" />
<circle fill="rgb(90% 90% 90% / 0.6)" cx="50" cy="50" r="35" />
</mask>
<!-- The first rect is masked with an alpha mask -->
<rect x="0" y="0" width="45" height="45" mask="url(#myMask1)" fill="red" />
<!-- The last rect is masked with a luminance mask -->
<rect x="55" y="0" width="45" height="45" mask="url(#myMask2)" fill="red" />
</svg>
mask
<mask> ã®å ´åã mask-type ã¯ããã¹ã¯è¦ç´ ã®ã³ã³ãã³ããè¼åº¦ãã¹ã¯ã¨ãã¦æ±ããã¢ã«ãã¡ãã¹ã¯ã¨ãã¦æ±ãããå®ç¾©ãã¾ãã
| å¤ | alpha | luminance |
|---|---|
| æ¢å®å¤ | luminance |
| ã¢ãã¡ã¼ã·ã§ã³ | 颿£ |
alpha-
ãã®å¤ã¯ããã®
<mask>è¦ç´ ã®ã¢ã«ãã¡å¤ã使ç¨ãããã¨ã示ãã¾ãããã¹ã¯ããããªãã¸ã§ã¯ãã®ãã¯ã»ã«ã¯ããã¹ã¯ã®è²èª¿ã®è¼åº¦ã«é¢ä¿ãªãããã¹ã¯é åã®ä¸éæåº¦ã¨ä¸è´ãã¾ãã luminance-
ãã®å¤ã¯ããã®
<mask>è¦ç´ ã®è¼åº¦å¤ã使ç¨ãããã¨ã示ãã¾ãããã¹ã¯ããããªãã¸ã§ã¯ãã®ä¸éæåº¦ã¯ããã¹ã¯ã®ä¸éæåº¦ã¨æåº¦ã«ãã£ã¦æ±ºã¾ãã¾ããluminanceãã¹ã¯ã®ä¸éæåº¦ã¯ããã¹ã¯ã®RãGãBãããã³Aãã£ã³ãã«ã使ç¨ãã¦ã((0.2125 * R) + (0.7154 * G) + (0.0721 * B)) * Aã¨ããç®åºå¼ã§æ±ºå®ããã¾ãã
仿§æ¸
ãã®æ©è½ã¯ãã©ã®ä»æ§æ¸ã«ãå®ç¾©ããã¦ãã¾ããã >ãã©ã¦ã¶ã¼ã®äºææ§
é¢é£æ å ±
- CSS
mask-typeproperty - CSS
mask-modeproperty - CSS ãã¹ã¯å ¥é