public final class AlphaComposite extends Object implements Composite
AlphaCompositeã¯ã©ã¹ã¯ãã°ã©ãã£ãã¯ã¹ãšã€ã¡ãŒãžã®æ··åãéæåã®å¹æãå®çŸããããã«ããœãŒã¹è²ãšãã¹ãã£ããŒã·ã§ã³è²ãçµã¿åãããããã®åºæ¬çãªã¢ã«ãã¡åæã«ãŒã«ãå®è£
ããŸãã ãã®ã¯ã©ã¹ã§å®è£
ãããç¹å®ã®ã«ãŒã«ã¯ãT. Porterããã³T. Duffå
±èã®ãCompositing Digital Imagesã(SIGGRAPH 84, 253 - 259)ã«èšè¿°ãããŠããäžé£ã®åºæ¬çãª12ã®èŠåã§ãã ãã®ããã¥ã¡ã³ãã§ã¯ããã®èæžã§èª¬æãããŠããå®çŸ©ããã³æŠå¿µã«ã€ããŠãããçšåºŠã®ç¥èãããããšãåæãšããŠããŸãã
ãã®ã¯ã©ã¹ã¯ãPorterãšDuffã«ãã£ãŠå®çŸ©ãããæšæºã®åŒãæ¡åŒµããä¿æ°ã1ã€è¿œå ããŠããŸãã AlphaCompositeã¯ã©ã¹ã®ã€ã³ã¹ã¿ã³ã¹ã«ã¯ãåæåŒã§äœ¿çšããåã«ããœãŒã¹ã®ãã¯ã»ã«ã®éæåºŠãç¯å²ã倿Žã§ããã¢ã«ãã¡å€ãæ ŒçŽã§ããŸãã
PorterãšDuffã®èæžã§å®çŸ©ãããåŒã¯ãã¹ãŠã察å¿ããã¢ã«ãã¡æåã«ãã£ãŠãããããä¹ç®ãããè²æåãåŠçããããã«å®çŸ©ãããŠããŸãã ColorModelã¯ã©ã¹ããã³Rasterã¯ã©ã¹ã§ã¯ããã¯ã»ã«ã»ããŒã¿ããããããä¹ç®ããã圢åŒã§ããä¹ç®ãããŠããªã圢åŒã§ãä¿åã§ãããããåŒãé©çšããåã«ããã¹ãŠã®å
¥åããŒã¿ããããããä¹ç®ããã圢åŒã«æ£èŠåããå¿
èŠãããããã¯ã»ã«å€ãæ ŒçŽããåã«ããã¹ãŠã®çµæããã¹ãã£ããŒã·ã§ã³ã«ãã£ãŠèŠæ±ããã圢åŒã«èª¿æŽããŠæ»ããªããã°ãªããªãå¯èœæ§ããããŸãã
ãã®ã¯ã©ã¹ã§å®çŸ©ããã®ã¯ãçŽç²ãªæ°åŠç芳念ã«ãããè²ãšã¢ã«ãã¡å€ã®åæã®åŒã ãã§ãã ãã®åŒã®æ£ç¢ºãªé©çšã¯ãããŒã¿ããœãŒã¹ããååŸãããã¹ãã£ããŒã·ã§ã³ã«ä¿åããæ¹æ³ã«ãã£ãŠç°ãªããŸãã 詳现ã¯ãå®è£ ã®æ³šæããåç §ããŠãã ããã
PorterãšDuffã®èæžã§ã¯ãåæåŒã®èª¬æã§æ¬¡ã®ä¿æ°ã䜿ãããŠããŸãã
ä¿æ° å®çŸ© As ãœãŒã¹ã»ãã¯ã»ã«ã®ã¢ã«ãã¡æå Cs ãããããä¹ç®ããã圢åŒã§ã®ãœãŒã¹ã»ãã¯ã»ã«ã®è²æå Ad ãã¹ãã£ããŒã·ã§ã³ã»ãã¯ã»ã«ã®ã¢ã«ãã¡æå Cd ãããããä¹ç®ããã圢åŒã§ã®ãã¹ãã£ããŒã·ã§ã³ã»ãã¯ã»ã«ã®è²æå Fs ãœãŒã¹ã»ãã¯ã»ã«ã®ãã¡ãåºåã«é¢ä¿ããéšå Fd ãã¹ãã£ããŒã·ã§ã³ã»ãã¯ã»ã«ã®ãã¡ãåºåã«é¢ä¿ããéšå Ar çµæãšããŠåŸãããã¢ã«ãã¡æå Cr ãããããä¹ç®ããã圢åŒã§ã®çµæã®è²æå
以äžã®ä¿æ°ã䜿çšããŠãPorterãšDuffã¯åæä¿æ°Fsããã³FdãéžæããŠã12çš®é¡ã®ç®çã®èŠèŠå¹æãçæãã12ãšããã®æ¹æ³ãå®çŸ©ããŠããŸãã Fsããã³Fdãæ±ºå®ããåŒã¯ãèŠèŠå¹æãæå®ãã12ã®staticãã£ãŒã«ãã®èšè¿°ã§æå®ããŸãã ããšãã°ãSRC_OVERã®èšè¿°ã§ã¯ãFs = 1ããã³Fd =(1-As)ãæå®ããŸãã åæä¿æ°ã決å®ããäžé£ã®åŒãããã£ãããããããåãã¯ã»ã«ã«é©çšããæ¬¡ã®äžé£ã®åŒã䜿çšããŠãçµæãçæã§ããŸãã
Fs = f(Ad)
Fd = f(As)
Ar = As*Fs + Ad*Fd
Cr = Cs*Fs + Cd*Fd
次ã®ä¿æ°ã䜿çšããŠãPorterãšDuffã®èæžã®åæåŒã®æ¡åŒµã説æããŸãã
ä¿æ° å®çŸ© Csr ãœãŒã¹ã»ãã¯ã»ã«ã®rawè²æåã®1〠Cdr ãã¹ãã£ããŒã·ã§ã³ã»ãã¯ã»ã«ã®rawè²æåã®1〠Aac AlphaCompositeã€ã³ã¹ã¿ã³ã¹ã®ãç¹æ®ãã¢ã«ãã¡æå Asr ãœãŒã¹ã»ãã¯ã»ã«ã®rawã¢ã«ãã¡æå Adr ãã¹ãã£ããŒã·ã§ã³ã»ãã¯ã»ã«ã®rawã¢ã«ãã¡æå Adf ãã¹ãã£ããŒã·ã§ã³ã«ä¿åãããæçµã¢ã«ãã¡æå Cdf ãã¹ãã£ããŒã·ã§ã³ã«ä¿åãããæçµrawè²æå
AlphaCompositeã¯ã©ã¹ã¯ããœãŒã¹ã®ã¢ã«ãã¡ã«é©çšãã远å ã®ã¢ã«ãã¡å€ãå®çŸ©ããŸãã ãã®å€ã¯ãAlphaCompositeã®ã¢ã«ãã¡ã«ãã£ãŠrawãœãŒã¹ã»ã¢ã«ãã¡ãšrawãœãŒã¹è²ã®äž¡æ¹ãä¹ç®ããŠæå®ãããã¢ã«ãã¡ãæã€ãã¯ã»ã«ã«å¯ŸããŠãæåã«æé»çãªSRC_INã«ãŒã«ããœãŒã¹ã»ãã¯ã»ã«ã«é©çšããŠãããã®ããã«é©çšããŸãã ããã¯ãPorterãšDuffã®åæåŒã§äœ¿çšãããã¢ã«ãã¡ãçæããæ¬¡ã®ãããªåŒã«ãªããŸãã
As = Asr * Aac
ãœãŒã¹rawè²æåã¯ãã¹ãŠAlphaCompositeã€ã³ã¹ã¿ã³ã¹ã®ã¢ã«ãã¡ã§ä¹ç®ããå¿
èŠããããŸãã ããã«ããœãŒã¹ããããããä¹ç®ããã圢åŒã§ãªãå Žåã«ãè²æåããœãŒã¹ã»ã¢ã«ãã¡ã§ä¹ç®ããå¿
èŠããããŸãã ãã®ããPorterãšDuffåŒã®ãœãŒã¹è²æåãçæããåŒã¯ããœãŒã¹ã»ãã¯ã»ã«ããããããä¹ç®ãããŠãããã©ããã«ãã£ãŠç°ãªããŸãã
Cs = Csr * Asr * Aac (if source is not premultiplied)
Cs = Csr * Aac (if source is premultiplied)
ãã¹ãã£ããŒã·ã§ã³ã»ã¢ã«ãã¡ã調æŽããå¿
èŠã¯ãããŸããã
Ad = Adr
ãã¹ãã£ããŒã·ã§ã³ã®è²æåã¯ãããããä¹ç®ããã圢åŒã§ãªãå Žåã«ã®ã¿èª¿æŽããå¿ èŠããããŸãã
Cd = Cdr * Ad (if destination is not premultiplied)
Cd = Cdr (if destination is premultiplied)
èª¿æŽæžã¿ã®AsãAdãCsãããã³CdãæšæºPorterãšDuffåŒã§äœ¿çšããŠãåæä¿æ°Fsããã³Fdãèšç®ããæ¬¡ã«çµæã®ãããããä¹ç®ãããŠããæåArããã³Crãèšç®ããŸãã
çµæã¯ããããããä¹ç®ãããŠããªãããŒã¿ãæ ŒçŽãããã¹ãã£ããŒã·ã§ã³ã»ãããã¡ã«æ»ãå Žåã«ã®ã¿ã次ã®åŒã䜿çšããŠèª¿æŽããå¿ èŠããããŸãã
Adf = Ar
Cdf = Cr (if dest is premultiplied)
Cdf = Cr / Ar (if dest is not premultiplied)
çµæãšããŠåŸãããã¢ã«ãã¡ããŒãã®å Žåã®é€ç®ã¯å®çŸ©ãããŠããªãããããã®å Žåã®é€ç®ã¯ç¡èŠããŠããŒãã§é€ç®ããé¿ããè²æåã¯ãã¹ãŠãŒãã®ãŸãŸã«ããŠãããŸãã
ããã©ãŒãã³ã¹äžã®çç±ã®ãããAlphaCompositeã¯ã©ã¹ã«ãã£ãŠäœæãããCompositeContextãªããžã§ã¯ãã®composeã¡ãœããã«æž¡ãRasterãªããžã§ã¯ãã«ã¯ããããããä¹ç®ãããããŒã¿ã䜿çšããããšããèŠãããŸãã ãœãŒã¹RasterãŸãã¯ãã¹ãã£ããŒã·ã§ã³Rasterã®ã©ã¡ããããããããä¹ç®ãããŠããªãå ŽåãåæåŠçã®ååŸã«é©åãªå€æãè¡ããŸãã
BufferedImageã¯ã©ã¹ã«æããããäžéæã€ã¡ãŒãžã®äžéšã®çš®é¡ãªã©ããœãŒã¹ã§ãã¯ã»ã«ã®ã¢ã«ãã¡å€ãæ ŒçŽããŠããªãå Žåãå€ããããŸãã ãããããœãŒã¹ã«ã¯ãã¹ãŠã®ãã¯ã»ã«ã«1.0ã®ã¢ã«ãã¡ãæå®ããŸãã
BufferedImage.TYPE_BYTE_INDEXEDã¯åæåŠçã®ãã¹ãã£ããŒã·ã§ã³ãšããŠäœ¿çšãã¹ãã§ã¯ãããŸãããéå®ããããã¬ãããããã¯ã»ã«ãéžæããŠãåæåŒã®çµæã«åãããå¿
èŠãããããããã¹ãŠã®åŠçã§å€§ããªèª€å·®ãçããå¯èœæ§ãããããã§ãã
äžè¬ã«ãæŽæ°0ã¯æµ®åå°æ°ç¹å€0.0ãšåçãšã¿ãªãããæŽæ°2^n-1 (nã¯è¡šçŸã®ãããæ°)ã¯1.0ãšåçãšã¿ãªãããããã«ãæŽæ°å€ãæµ®åå°æ°ç¹å€ãšé¢é£ä»ããããŸãã 8ããã衚çŸã§ã¯ã0x00ã¯0.0ã衚ãã0xffã¯1.0ã衚ããŸãã
(A, R, G, B) = (0x01, 0xb0, 0x00, 0x00)
æŽæ°å€æŒç®ã䜿çšãããã®å€ãSRCã¢ãŒãã§ãç¹æ®ã¢ã«ãã¡ã䜿çšããã«çµåãããŠããå Žåãæ°å€æŒç®ã®çµæã¯(æŽæ°åœ¢åŒã§)次ã®ããã«ãªããŸãã
(A, R, G, B) = (0x01, 0x01, 0x00, 0x00)
äžéå€ã¯åžžã«ãããããä¹ç®ããã圢åŒã§ãããæŽæ°å€ã®èµ€ã®æåã¯0x00ãŸãã¯0x01ã®ã©ã¡ããã®ã¿ã«ãªããŸãã ãã®çµæããããããä¹ç®ãããŠããªããã¹ãã£ããŒã·ã§ã³ã«æ»ãããšããå Žåãã¢ã«ãã¡ãé€ç®ãããšããããããä¹ç®ãããŠããªãèµ€ã®å€ã®éžæè¢ã¯ã»ãšãã©ãããŸããã ãã®å Žåãã·ã§ãŒãã«ãããªãã§ãæŽæ°ã¹ããŒã¹ã§æ°å€æŒç®ãå®è¡ããå®è£ ã®æçµçãªãã¯ã»ã«å€ã¯æ¬¡ã®ããã«ãªããŸãã
(A, R, G, B) = (0x01, 0xff, 0x00, 0x00)
(0x01ã0x01ã§é€ç®ãããš1.0ã«ãªããããã¯8ãããæ ŒçŽåœ¢åŒã§ã®å€0xffã«çãããªããŸãã)
ãŸãã¯ãæµ®åå°æ°ç¹æŒç®ã䜿çšããå®è£ ã§ã¯ãããæ£ç¢ºãªçµæãçæãããã»ãšãã©äžžã誀差ã®ãªãå ã®ãã¯ã»ã«å€ã«æ»ããŸãã ãããã¯ãæŽæ°å€æŒç®ã䜿çšããå®è£ ã§ã¯ãæµ®åå°æ°ç¹ã¹ããŒã¹ã§å®è¡ããå Žåã«ãåŒã¯è²å€ã®ä»®æ³NOPã«ãªããããç¡ä¿®æ£ã®ãã¯ã»ã«ããã¹ãã£ããŒã·ã§ã³ã«è»¢éã§ãããã¹ãŠã®æ°å€æŒç®ãé¿ããããšãã§ããŸãã
ãããã®å®è£ ã¯ãã¹ãŠåãåŒã«åŸãããšããŸãããæŽæ°ãšå°æ°ç¹æ°å€æŒç®ãããã³ççž®ããåŒãšå®å šãªåŒã®ããŸããŸãªãã¬ãŒããªããå¿ èŠã§ãã ããããéããçžæ®ºããããããããããä¹ç®ãããçµæã®åœ¢åŒãå®è£ ãšã€ã¡ãŒãžåœ¢åŒã§äžèŽããŠããããšã®ã¿ãæåŸ ããããšããã£ãšãæãŸãããšèããããŸãã ãã®å Žåããããããä¹ç®ããã圢åŒã§è¡šãããäž¡æ¹ã®çããæ¬¡ã«çãããªããŸãã
(A, R, G, B) = (0x01, 0x01, 0x00, 0x00)
ãããã£ãŠããããã¯ãã¹ãŠäžèŽããŸãã
Composite, CompositeContext| 修食åãšå | ãã£ãŒã«ã | 説æ |
|---|---|---|
static AlphaComposite |
Clear |
1.0fã®ã¢ã«ãã¡ã«ããäžéæã®CLEARã«ãŒã«ãå®è£
ãã
AlphaCompositeãªããžã§ã¯ãã |
static int |
CLEAR |
ãã¹ãã£ããŒã·ã§ã³ã®è²ããã³ã¢ã«ãã¡ã®äž¡æ¹ãã¯ãªã¢ãããŸã(Porter-Duff Clearã«ãŒã«)ã
|
static AlphaComposite |
Dst |
1.0fã®ã¢ã«ãã¡ã«ããäžéæã®DSTã«ãŒã«ãå®è£
ãã
AlphaCompositeãªããžã§ã¯ãã |
static int |
DST |
ãã¹ãã£ããŒã·ã§ã³ã¯å€æŽãããŸãã(Porter-Duff Destinationã«ãŒã«)ã
|
static int |
DST_ATOP |
ãã¹ãã£ããŒã·ã§ã³ã®ãœãŒã¹å
éšã«ããéšåãããœãŒã¹ã«éãåããããããã®çµæçæãããè²ã§ãã¹ãã£ããŒã·ã§ã³ã眮ãæããããŸã(Porter-Duff Destination Atop Sourceã«ãŒã«)ã
|
static int |
DST_IN |
ãã¹ãã£ããŒã·ã§ã³ã®ãœãŒã¹å
éšã«ããéšåã§ãã¹ãã£ããŒã·ã§ã³ã眮ãæããããŸã(Porter-Duff Destination In Sourceã«ãŒã«)ã
|
static int |
DST_OUT |
ãã¹ãã£ããŒã·ã§ã³ã®ãœãŒã¹å€éšã«ããéšåã§ãã¹ãã£ããŒã·ã§ã³ã眮ãæããããŸã(Porter-Duff Destination Held Out By Sourceã«ãŒã«)ã
|
static int |
DST_OVER |
ãã¹ãã£ããŒã·ã§ã³ã¯ãœãŒã¹ã®äžã«éãåããããããã®çµæçæãããè²ã§ãã¹ãã£ããŒã·ã§ã³ã眮ãæããããŸã(Porter-Duff Destination Over Sourceã«ãŒã«)ã
|
static AlphaComposite |
DstAtop |
1.0fã®ã¢ã«ãã¡ã«ããäžéæã®DST_ATOPã«ãŒã«ãå®è£
ãã
AlphaCompositeãªããžã§ã¯ãã |
static AlphaComposite |
DstIn |
1.0fã®ã¢ã«ãã¡ã«ããäžéæã®DST_INã«ãŒã«ãå®è£
ãã
AlphaCompositeãªããžã§ã¯ãã |
static AlphaComposite |
DstOut |
1.0fã®ã¢ã«ãã¡ã«ããäžéæã®DST_OUTã«ãŒã«ãå®è£
ãã
AlphaCompositeãªããžã§ã¯ãã |
static AlphaComposite |
DstOver |
1.0fã®ã¢ã«ãã¡ã«ããäžéæã®DST_OVERã«ãŒã«ãå®è£
ãã
AlphaCompositeãªããžã§ã¯ãã |
static AlphaComposite |
Src |
1.0fã®ã¢ã«ãã¡ã«ããäžéæã®SRCã«ãŒã«ãå®è£
ãã
AlphaCompositeãªããžã§ã¯ãã |
static int |
SRC |
ãœãŒã¹ããã¹ãã£ããŒã·ã§ã³ã«ã³ããŒãããŸã(Porter-Duff Sourceã«ãŒã«)ã
|
static int |
SRC_ATOP |
ãœãŒã¹ã®ãã¹ãã£ããŒã·ã§ã³å
éšã«ããéšåãããã¹ãã£ããŒã·ã§ã³ã«éãåãããããŸã(Porter-Duff Source Atop Destinationã«ãŒã«)ã
|
static int |
SRC_IN |
ãœãŒã¹ã®ãã¹ãã£ããŒã·ã§ã³å
éšã«ããéšåã§ãã¹ãã£ããŒã·ã§ã³ã眮ãæããããŸã(Porter-Duff Source In Destinationã«ãŒã«)ã
|
static int |
SRC_OUT |
ãœãŒã¹ã®ãã¹ãã£ããŒã·ã§ã³å€éšã«ããéšåã§ãã¹ãã£ããŒã·ã§ã³ã眮ãæããããŸã(Porter-Duff Source Held Out By Destinationã«ãŒã«)ã
|
static int |
SRC_OVER |
ãœãŒã¹ã¯ãã¹ãã£ããŒã·ã§ã³ã®äžã«éãåãããããŸã(Porter-Duff Source Over Destinationã«ãŒã«)ã
|
static AlphaComposite |
SrcAtop |
1.0fã®ã¢ã«ãã¡ã«ããäžéæã®SRC_ATOPã«ãŒã«ãå®è£
ãã
AlphaCompositeãªããžã§ã¯ãã |
static AlphaComposite |
SrcIn |
1.0fã®ã¢ã«ãã¡ã«ããäžéæã®SRC_INã«ãŒã«ãå®è£
ãã
AlphaCompositeãªããžã§ã¯ãã |
static AlphaComposite |
SrcOut |
1.0fã®ã¢ã«ãã¡ã«ããäžéæã®SRC_OUTã«ãŒã«ãå®è£
ãã
AlphaCompositeãªããžã§ã¯ãã |
static AlphaComposite |
SrcOver |
1.0fã®ã¢ã«ãã¡ã«ããäžéæã®SRC_OVERã«ãŒã«ãå®è£
ãã
AlphaCompositeãªããžã§ã¯ãã |
static AlphaComposite |
Xor |
1.0fã®ã¢ã«ãã¡ã«ããäžéæã®XORã«ãŒã«ãå®è£
ãã
AlphaCompositeãªããžã§ã¯ãã |
static int |
XOR |
ãœãŒã¹ã®ãã¹ãã£ããŒã·ã§ã³å€éšã«ããéšåãããã¹ãã£ããŒã·ã§ã³ã®ãœãŒã¹å€éšã«ããéšåãšæ··åãããŸã(Porter-Duff Source Xor Destinationã«ãŒã«)ã
|
| 修食åãšå | ã¡ãœãã | 説æ |
|---|---|---|
CompositeContext |
createContext(ColorModel srcColorModel, ColorModel dstColorModel, RenderingHints hints) |
åææäœã®ã³ã³ããã¹ããäœæããŸãã
|
AlphaComposite |
derive(float alpha) |
æå®ãããã¢ã«ãã¡å€ã䜿çšããé¡äŒŒã®
AlphaCompositeãªããžã§ã¯ããè¿ããŸãã |
AlphaComposite |
derive(int rule) |
æå®ãããåæã«ãŒã«ã䜿çšããé¡äŒŒã®
AlphaCompositeãªããžã§ã¯ããè¿ããŸãã |
boolean |
equals(Object obj) |
æå®ããããªããžã§ã¯ãããã®
AlphaCompositeã«çãããã©ãããå€å®ããŸãã |
float |
getAlpha() |
ãã®
AlphaCompositeã®ã¢ã«ãã¡å€ãè¿ããŸãã |
static AlphaComposite |
getInstance(int rule) |
æå®ãããã«ãŒã«ã䜿çšããŠ
AlphaCompositeãªããžã§ã¯ããäœæããŸãã |
static AlphaComposite |
getInstance(int rule, float alpha) |
æå®ãããã«ãŒã«ãšããœãŒã¹ã®ã¢ã«ãã¡ã«æãã宿°ã¢ã«ãã¡ã䜿çšããŠ
AlphaCompositeãªããžã§ã¯ããäœæããŸãã |
int |
getRule() |
ãã®
AlphaCompositeã®åæã«ãŒã«ãè¿ããŸãã |
int |
hashCode() |
ãã®åæã®ããã·ã¥ã»ã³ãŒããè¿ããŸãã
|
@Native public static final int CLEAR
Fs = 0ããã³Fd = 0ã®å Žåãæ¬¡ã®ããã«ãªããŸãã
Ar = 0 Cr = 0
@Native public static final int SRC
Fs = 1ããã³Fd = 0ã®å Žåãæ¬¡ã®ããã«ãªããŸãã
Ar = As Cr = Cs
@Native public static final int DST
Fs = 0ããã³Fd = 1ã®å Žåãæ¬¡ã®ããã«ãªããŸãã
Ar = Ad Cr = Cd
@Native public static final int SRC_OVER
Fs = 1ããã³Fd =(1-As)ã®å Žåãæ¬¡ã®ããã«ãªããŸãã
Ar = As + Ad*(1-As) Cr = Cs + Cd*(1-As)
@Native public static final int DST_OVER
Fs =(1-Ad)ããã³Fd = 1ã®å Žåãæ¬¡ã®ããã«ãªããŸãã
Ar = As*(1-Ad) + Ad Cr = Cs*(1-Ad) + Cd
@Native public static final int SRC_IN
Fs = AdãFd = 0ã®å Žåãæ¬¡ã®ããã«ãªããŸãã
Ar = As*Ad Cr = Cs*Ad
@Native public static final int DST_IN
Fs = 0ãFd = Asã®å Žåãæ¬¡ã®ããã«ãªããŸãã
Ar = Ad*As Cr = Cd*As
@Native public static final int SRC_OUT
Fs =(1-Ad)ããã³Fd = 0ã®å Žåãæ¬¡ã®ããã«ãªããŸãã
Ar = As*(1-Ad) Cr = Cs*(1-Ad)
@Native public static final int DST_OUT
Fs = 0ããã³Fd =(1-As)ã®å Žåãæ¬¡ã®ããã«ãªããŸãã
Ar = Ad*(1-As) Cr = Cd*(1-As)
@Native public static final int SRC_ATOP
Fs = AdãFd =(1-As)ã®å Žåãæ¬¡ã®ããã«ãªããŸãã
Ar = As*Ad + Ad*(1-As) = Ad Cr = Cs*Ad + Cd*(1-As)
@Native public static final int DST_ATOP
Fs =(1-Ad)ãFd = Asã®å Žåãæ¬¡ã®ããã«ãªããŸãã
Ar = As*(1-Ad) + Ad*As = As Cr = Cs*(1-Ad) + Cd*As
@Native public static final int XOR
Fs =(1-Ad)ãFd =(1-As)ã®å Žåãæ¬¡ã®ããã«ãªããŸãã
Ar = As*(1-Ad) + Ad*(1-As) Cr = Cs*(1-Ad) + Cd*(1-As)
public static final AlphaComposite Clear
AlphaCompositeãªããžã§ã¯ããCLEARpublic static final AlphaComposite Src
AlphaCompositeãªããžã§ã¯ããSRCpublic static final AlphaComposite Dst
AlphaCompositeãªããžã§ã¯ããDSTpublic static final AlphaComposite SrcOver
AlphaCompositeãªããžã§ã¯ããSRC_OVERpublic static final AlphaComposite DstOver
AlphaCompositeãªããžã§ã¯ããDST_OVERpublic static final AlphaComposite SrcIn
AlphaCompositeãªããžã§ã¯ããSRC_INpublic static final AlphaComposite DstIn
AlphaCompositeãªããžã§ã¯ããDST_INpublic static final AlphaComposite SrcOut
AlphaCompositeãªããžã§ã¯ããSRC_OUTpublic static final AlphaComposite DstOut
AlphaCompositeãªããžã§ã¯ããDST_OUTpublic static final AlphaComposite SrcAtop
AlphaCompositeãªããžã§ã¯ããSRC_ATOPpublic static final AlphaComposite DstAtop
AlphaCompositeãªããžã§ã¯ããDST_ATOPpublic static final AlphaComposite Xor
AlphaCompositeãªããžã§ã¯ããXORpublic static AlphaComposite getInstance(int rule)
AlphaCompositeãªããžã§ã¯ããäœæããŸããpublic static AlphaComposite getInstance(int rule, float alpha)
AlphaCompositeãªããžã§ã¯ããäœæããŸãã ãã¹ãã£ããŒã·ã§ã³ãšåæãããåã«ããœãŒã¹ã¯æå®ãããã¢ã«ãã¡ã§ä¹ç®ãããŸãã rule - åæã«ãŒã«alpha - ãœãŒã¹ã®ã¢ã«ãã¡ã«æãã宿°ã¢ã«ãã¡ãalphaã¯ã[0.0, 1.0]ã®ç¯å²(䞡端ãå«ã)ã®æµ®åå°æ°ç¹æ°å€ã§ããå¿
èŠããããŸããIllegalArgumentException - alphaã0.0æªæºãŸãã¯1.0ãã倧ãããããŸãã¯ruleãæ¬¡ã®ã©ãã§ããªãå ŽåãCLEARãSRCãDSTãSRC_OVERãDST_OVERãSRC_INãDST_INãSRC_OUTãDST_OUTãSRC_ATOPãDST_ATOPãXORpublic CompositeContext createContext(ColorModel srcColorModel, ColorModel dstColorModel, RenderingHints hints)
createContextãã€ã³ã¿ãã§ãŒã¹CompositesrcColorModel - ãœãŒã¹ã®ColorModeldstColorModel - ãã¹ãã£ããŒã·ã§ã³ã®ColorModelhints - ã³ã³ããã¹ãã»ãªããžã§ã¯ããæç»ã®éžæè¢ã®äžããéžæããããã«äœ¿çšãããã³ãCompositeContextãªããžã§ã¯ãpublic float getAlpha()
AlphaCompositeã®ã¢ã«ãã¡å€ãè¿ããŸãã ãã®AlphaCompositeãã¢ã«ãã¡å€ãæããªãå Žåã¯ã1.0ãè¿ãããŸãã AlphaCompositeã®ã¢ã«ãã¡å€public int getRule()
AlphaCompositeã®åæã«ãŒã«ãè¿ããŸããAlphaCompositeã®åæã«ãŒã«public AlphaComposite derive(int rule)
AlphaCompositeãªããžã§ã¯ããè¿ããŸãã æå®ãããåæã«ãŒã«ããã®ãªããžã§ã¯ãã§ãã§ã«äœ¿çšãããŠããå Žåã¯ããã®ãªããžã§ã¯ããè¿ãããŸãã rule - åæã«ãŒã«AlphaCompositeãªããžã§ã¯ãIllegalArgumentException - ruleãCLEARãSRCãDSTãSRC_OVERãDST_OVERãSRC_INãDST_INãSRC_OUTãDST_OUTãSRC_ATOPãDST_ATOPãXORã®ãããã§ããªãå Žåpublic AlphaComposite derive(float alpha)
AlphaCompositeãªããžã§ã¯ããè¿ããŸãã æå®ãããã¢ã«ãã¡å€ããã®ãªããžã§ã¯ãã§ãã§ã«äœ¿çšãããŠããå Žåã¯ããã®ãªããžã§ã¯ããè¿ãããŸãã alpha - ãœãŒã¹ã®ã¢ã«ãã¡ã«æãã宿°ã¢ã«ãã¡ãalphaã¯ã[0.0, 1.0]ã®ç¯å²(䞡端ãå«ã)ã®æµ®åå°æ°ç¹æ°å€ã§ããå¿
èŠããããŸããAlphaCompositeãªããžã§ã¯ãIllegalArgumentException - alphaã0.0æªæºã1.0ãã倧ããå Žåpublic int hashCode()
hashCodeãã¯ã©ã¹ObjectObject.equals(java.lang.Object), System.identityHashCode(java.lang.Object)public boolean equals(Object obj)
AlphaCompositeã«çãããã©ãããå€å®ããŸãã
åŒæ°ãnullã§ãªãããã®ãªããžã§ã¯ããšåãåæã«ãŒã«ããã³ã¢ã«ãã¡å€ã䜿çšããAlphaCompositeãªããžã§ã¯ãã§ããå Žåã®ã¿ãçµæãtrueã«ãªããŸãã
equalsãã¯ã©ã¹Objectobj - çãããã©ãããå€å®ãããObjectobjããã®AlphaCompositeãšçããå Žåã¯trueãããã§ãªãå Žåã¯falseObject.hashCode(), HashMap ãã°ãŸãã¯æ©èœãéä¿¡
詳现ãªAPIãªãã¡ã¬ã³ã¹ããã³éçºè
ããã¥ã¡ã³ãã«ã€ããŠã¯ãJava SEã®ããã¥ã¡ã³ããåç
§ããŠãã ããã ãã®ããã¥ã¡ã³ãã«ã¯ãæŠå¿µçãªæŠèŠãçšèªã®å®çŸ©ãåé¿æ¹æ³ãæå¹ãªã³ãŒãäŸãªã©ã®ãéçºè
ã察象ã«ãããã詳现ãªèª¬æãå«ãŸããŠããŸãã
Copyright © 1993, 2025, Oracle and/or its affiliates. All rights reserved. Use is subject to license terms. Documentation Redistribution Policyãåç
§ããŠãã ããã