AlphaComposite (Java Platform SE 6) - xrath.com 에서 번역됨

개요 | 패키지 | 클래스 | 사용 | 계층 트리 | 비추천 API | 색인 | 헬프

JavaTM Platform
Standard Ed. 6

전의 클래스 다음의 클래스 | 프레임 있어 프레임 없음
개요: 상자 | 필드 | 생성자 | 메소드 | 상세 : 필드 | 생성자 | 메소드

## java.awt
클래스 AlphaComposite

    java.lang.Object
      java.awt.AlphaComposite

모든 구현된 인터페이스:
  Composite

    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     (전송원이 미리 곱셈되어 있지 않은 경우)
            Cs = Csr * Aac           (전송원이 미리 곱셈되고 있는 경우)

전송원알파를 조정할 필요는 없습니다.

            Ad = Adr

전송처의 색성분은 미리 곱셈된 형식이 아닌 경우에게만 조정할 필요가 있습니다.

            Cd = Cdr * Ad    (전송처가 미리 곱셈되어 있지 않은 경우)
            Cd = Cdr         (전송처가 미리 곱셈되고 있는 경우)

### 합성식의 적용

조정필 보고의 As,Ad,Cs, 및 Cd 를 표준 Porter 와 Duff 식에서 사용해, 합성 계수 Fs 및 Fd 를 계산해, 다음에 결과의 미리 곱셈되고 있는 성분 Ar 및 Cr 를 계산합니다.

### 결과의 준비

결과는, 미리 곱셈되어 있지 않은 데이터를 포함하는 전송처 버퍼에 되돌리는 경우에게만, 다음의 식을 사용해 조정할 필요가 있습니다.

            Adf = Ar
            Cdf = Cr                 (전송처가 미리 곱셈되고 있는 경우)
            Cdf = Cr / Ar            (전송처가 미리 곱셈되어 있지 않은 경우)

결과적으로 얻을 수 있는 알파가 제로의 경우의 제산은 정의되어 있지 않기 때문에, 그 경우의 제산은 무시해 「제로로 제산」을 피해 색성분은 모두 제로대로 해 둡니다.

### 퍼포먼스상의 제약

퍼포먼스상의 이유이기 때문에,`AlphaComposite` 클래스에 의해 작성되는 `CompositeContext` 객체의 `compose` 메소드에 건네주는 `Raster` 객체에는 미리 곱셈된 데이터를 사용하는 것을 추천합니다. 전송원 `Raster` 또는 전송처 `Raster` 의 어느 쪽인지가 미리 곱셈되어 있지 않은 경우, 합성 처리의 전후에 적절한 변환을 실시합니다.

### 구현의 주의

- `BufferedImage` 클래스 로 거론된 불투명 이미지의 일부의 종류 등, 전송원으로 픽셀의 알파치를 포함하고 있지 않는 경우가 많이 있습니다. 그러한 전송 바탕으로는 모든 픽셀에 1.0 의 알파를 지정합니다.

- 게다가 전송 먼저, 이 클래스에 의해 실행된 합성 계산의 결과로서 얻을 수 있는 알파치를 포함하는 장소가 없는 경우도 많이 있습니다. 그 때문에, 그러한 전송처에서는 이 클래스에서 생성되는 결과적으로 얻을 수 있는 알파치가 암묵적으로 파기됩니다. 그러한 전송처에서는, 포함된 색치를 미리 곱셈되어 있지 않은 것으로서 취급해, 색치를 포함해 알파치를 파기하기 전에, 결과적으로 얻을 수 있는 알파치에 의해 결과의 색치를 제산할 필요가 있습니다.

- 결과의 정밀도는, 전송처의 픽셀의 보존 방법에 따라서 다릅니다. 2, 3 으로부터 수십의 일련의 합성 처리에는 적어도, 전송처로서 색 및 알파 성분 근처 최저 8 비트의 영역을 제공하는 이미지 형식이 적절합니다. 성분 근처의 영역이 8 비트 이하의 이미지 형식에서는, 결과의 둥근 오차가 눈에 띄지 않는 1 개(살) 또는 2 개의 합성 처리 밖에 사용할 수 없습니다. 색성분을 별로 포함하지 않는 이미지 형식은, 모든 종류의 반투명 합성에 적절하고 있지 않습니다. 예를 들어,`BufferedImage.TYPE_BYTE_INDEXED` 는 합성 처리의 전송처로서 사용해야 하지는 않습니다. 한정된 팔레트로부터 픽셀을 선택해, 합성식의 결과에 맞출 필요가 있기 (위해)때문에, 모든 처리로 큰 오차가 생길 가능성이 있기 때문입니다.

- 거의 모든 형식에서, 픽셀은 상기의 참조식에서 사용되고 있는 부동 소수점치는 아니고, 이산적인 정수로서 포함됩니다. 구현에서는, 정수 픽셀치를 0.0 에서 1.0 의 범위의 부동 소수점치에 슬캘링 하는지, 정수의 범위에서 모든 것을 처리하는 조금 변경한 식을 사용해, 참조식을 닮은 결과를 생성할 수도 있습니다.

  일반적으로, 정수 0 은 부동 소수점치 0.0 으로 동등으로 간주해져 정수 2^n-1 (n 는 표현의 비트수)는 1.0 으로 동등으로 간주해지도록(듯이), 정수치가 소수점치와 관련지을 수 있습니다. 8 비트 표현에서는, 0x00 는 0.0 을 나타내, 0xff 는 1.0 을 나타냅니다.

- 내부 구현에서는 일부의 식을 개산 하는 일도, 일부의 순서를 생략 해 불필요한 처리를 피할 수도 있습니다. 예를 들어, 성분 근처 8 비트의 영역을 사용하는 미리 곱셈되어 있지 않은 알파치를 가지는 이산 정수 이미지가 있다고 합니다. 거의 투명한 진한 빨강의 포함되는 값은 다음과 같이 됩니다.

          (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)

  따라서, 그것들은 모두 일치합니다.

- 식을 단순화 하는 기법에 따라 계산의 효율을 올리기 (위해)때문에, 구현에 따라서는, 미리 곱셈되어 있지 않은 전송처에서, 0.0 의 결과 알파치가 발견되었을 경우에, 실행 방법을 변경하는 일이 있습니다. SRC 규칙에서는, 알파에 의한 제산을 없앤다고 하는 단순화는, 분모 (알파)가 0 의 경우에 유효하지 않은 것에 주의해 주세요. 그러나, 결과는 미리 곱셈되고 있는 형식에서 보았을 경우에게만 정확한 것을 기대해야 하기 때문에, 결과적으로 얻을 수 있는 알파가 0 의 경우는 필연적으로 결과의 색성분은 관계없이, 이 경우의 정확한 동작은 기대할 수 없습니다.

관련 항목:
  `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 ()` 이 `AlphaComposiste` 의 알파치를 돌려줍니다.
`static AlphaComposite` | `getInstance (int rule)` 지정된 규칙을 사용해 `AlphaComposite` 객체를 생성합니다.
`static AlphaComposite` | `getInstance (int rule, float alpha)` 지정된 규칙과 전송원의 알파에 거는 정수 알파를 사용해 `AlphaComposite` 객체를 생성합니다.
`int` | `getRule ()` 이 `AlphaComposite` 의 합성 규칙을 돌려줍니다.
`int` | `hashCode ()` 이 합성의 해시 코드를 돌려줍니다.

클래스 java.lang. Object 로부터 상속된 메소드
`clone , finalize , getClass , notify , notifyAll , toString , wait , wait , wait`

필드의 상세

### CLEAR

    public static final int CLEAR

  전송처의 색 및 알파의 양쪽 모두가 클리어 됩니다 (Porter-Duff Clear 규칙). 전송원과 전송처의 어느쪽이나 입력으로서 사용되지 않습니다.

  Fs = 0,Fd = 0 의 경우, 다음과 같이 됩니다.

              Ar = 0
              Cr = 0

  관련 항목:
    정수 필드치

### SRC

    public static final int SRC

  전송원이 전송 먼저 카피됩니다 (Porter-Duff Source 규칙). 전송처는 입력으로서 사용되지 않습니다.

  Fs = 1,Fd = 0 의 경우, 다음과 같이 됩니다.

              Ar = As
              Cr = Cs

  관련 항목:
    정수 필드치

### DST

    public static final int DST

  전송처는 변경되지 않습니다 (Porter-Duff Destination 규칙).

  Fs = 0,Fd = 1 의 경우, 다음과 같이 됩니다.

              Ar = Ad
              Cr = Cd

  도입된 버젼:
    1.4
  관련 항목:
    정수 필드치

### SRC_OVER

    public static final int SRC_OVER

  전송원래는 전송처 우에에 겹쳐 맞출 수 있습니다 (Porter-Duff Source Over Destination 규칙).

  Fs = 1,Fd = (1-As)의 경우, 다음과 같이 됩니다.

              Ar = As + Ad*(1-As)
              Cr = Cs + Cd*(1-As)

  관련 항목:
    정수 필드치

### DST_OVER

    public static final int DST_OVER

  전송처는 전송원 우에에 겹쳐 맞출 수 있어 이 결과 생성된 색으로 전송처를 옮겨놓을 수 있습니다 (Porter-Duff Destination Over Source 규칙).

  Fs = (1-Ad),Fd = 1 의 경우, 다음과 같이 됩니다.

              Ar = As*(1-Ad) + Ad
              Cr = Cs*(1-Ad) + Cd

  관련 항목:
    정수 필드치

### SRC_IN

    public static final int SRC_IN

  전송원의 전송처 내부에 있는 부분에서 전송처를 옮겨놓을 수 있습니다 (Porter-Duff Source In Destination 규칙).

  Fs = Ad,Fd = 0 의 경우, 다음과 같이 됩니다.

              Ar = As*Ad
              Cr = Cs*Ad

  관련 항목:
    정수 필드치

### DST_IN

    public static final int DST_IN

  전송처의 전송원의 내부에 있는 부분에서 전송처를 옮겨놓을 수 있습니다 (Porter-Duff Destination In Source 규칙).

  Fs = 0,Fd = As 의 경우, 다음과 같이 됩니다.

              Ar = Ad*As
              Cr = Cd*As

  관련 항목:
    정수 필드치

### SRC_OUT

    public static final int SRC_OUT

  전송원의 전송처의 밖에 있는 부분에서 전송처를 옮겨놓을 수 있습니다 (Porter-Duff Source Held Out By Destination 규칙).

  Fs = (1-Ad),Fd = 0 의 경우, 다음과 같이 됩니다.

              Ar = As*(1-Ad)
              Cr = Cs*(1-Ad)

  관련 항목:
    정수 필드치

### DST_OUT

    public static final int DST_OUT

  전송처의 전송원의 밖에 있는 부분에서 전송처를 옮겨놓을 수 있습니다 (Porter-Duff Destination Held Out By Source 규칙).

  Fs = 0,Fd = (1-As)의 경우, 다음과 같이 됩니다.

              Ar = Ad*(1-As)
              Cr = Cd*(1-As)

  관련 항목:
    정수 필드치

### SRC_ATOP

    public static final int SRC_ATOP

  전송원의 전송처 내부에 있는 부분이, 전송 먼저 거듭해 배합할 수 있습니다(Porter-Duff Source Atop Destination 규칙).

  Fs = Ad,Fd = (1-As)의 경우, 다음과 같이 됩니다.

              Ar = As*Ad + Ad*(1-As) = Ad
              Cr = Cs*Ad + Cd*(1-As)

  도입된 버젼:
    1.4
  관련 항목:
    정수 필드치

### DST_ATOP

    public static final int DST_ATOP

  전송처의 전송원내부에 있는 부분이, 전송 바탕으로 거듭해 맞출 수 있어 이 결과 생성된 색으로 전송처를 옮겨놓을 수 있습니다 (Porter-Duff Destination Atop Source 규칙).

  Fs = (1-Ad),Fd = As 의 경우, 다음과 같이 됩니다.

              Ar = As*(1-Ad) + Ad*As = As
              Cr = Cs*(1-Ad) + Cd*As

  도입된 버젼:
    1.4
  관련 항목:
    정수 필드치

### XOR

    public static final int XOR

  전송원의 전송처의 밖에 있는 부분이, 전송처의 전송원의 밖에 있는 부분과 혼합됩니다 (Porter-Duff Source Xor Destination 규칙).

  Fs = (1-Ad),Fd = (1-As)의 경우, 다음과 같이 됩니다.

              Ar = As*(1-Ad) + Ad*(1-As)
              Cr = Cs*(1-Ad) + Cd*(1-As)

  도입된 버젼:
    1.4
  관련 항목:
    정수 필드치

### Clear

    public static final AlphaComposite  Clear

  1.0f 의 알파를 가지는, 불투명의 CLEAR 규칙을 구현하는 `AlphaComposite` 객체입니다.

  관련 항목:
    `CLEAR`

### Src

    public static final AlphaComposite  Src

  1.0f 의 알파를 가지는, 불투명의 SRC 규칙을 구현하는 `AlphaComposite` 객체입니다.

  관련 항목:
    `SRC`

### Dst

    public static final AlphaComposite  Dst

  1.0f 의 알파를 가지는, 불투명의 DST 규칙을 구현하는 `AlphaComposite` 객체입니다.

  도입된 버젼:
    1.4
  관련 항목:
    `DST`

### SrcOver

    public static final AlphaComposite  SrcOver

  1.0f 의 알파를 가지는, 불투명의 SRC_OVER 규칙을 구현하는 `AlphaComposite` 객체입니다.

  관련 항목:
    `SRC_OVER`

### DstOver

    public static final AlphaComposite  DstOver

  1.0f 의 알파를 가지는, 불투명의 DST_OVER 규칙을 구현하는 `AlphaComposite` 객체입니다.

  관련 항목:
    `DST_OVER`

### SrcIn

    public static final AlphaComposite  SrcIn

  1.0f 의 알파를 가지는, 불투명의 SRC_IN 규칙을 구현하는 `AlphaComposite` 객체입니다.

  관련 항목:
    `SRC_IN`

### DstIn

    public static final AlphaComposite  DstIn

  1.0f 의 알파를 가지는, 불투명의 DST_IN 규칙을 구현하는 `AlphaComposite` 객체입니다.

  관련 항목:
    `DST_IN`

### SrcOut

    public static final AlphaComposite  SrcOut

  1.0f 의 알파를 가지는, 불투명의 SRC_OUT 규칙을 구현하는 `AlphaComposite` 객체입니다.

  관련 항목:
    `SRC_OUT`

### DstOut

    public static final AlphaComposite  DstOut

  1.0f 의 알파를 가지는, 불투명의 DST_OUT 규칙을 구현하는 `AlphaComposite` 객체입니다.

  관련 항목:
    `DST_OUT`

### SrcAtop

    public static final AlphaComposite  SrcAtop

  1.0f 의 알파를 가지는, 불투명의 SRC_ATOP 규칙을 구현하는 `AlphaComposite` 객체입니다.

  도입된 버젼:
    1.4
  관련 항목:
    `SRC_ATOP`

### DstAtop

    public static final AlphaComposite  DstAtop

  1.0f 의 알파를 가지는, 불투명의 DST_ATOP 규칙을 구현하는 `AlphaComposite` 객체입니다.

  도입된 버젼:
    1.4
  관련 항목:
    `DST_ATOP`

### Xor

    public static final AlphaComposite  Xor

  1.0f 의 알파를 가지는, 불투명의 XOR 규칙을 구현하는 `AlphaComposite` 객체입니다.

  도입된 버젼:
    1.4
  관련 항목:
    `XOR`

메소드의 상세

### getInstance

    public static AlphaComposite  getInstance(int rule)

  지정된 규칙을 사용해 `AlphaComposite` 객체를 생성합니다.

  파라미터:
    `rule` - 합성 규칙
  예외:
    `IllegalArgumentException` - `rule` 가 `CLEAR` ,`SRC` ,`DST` , `SRC_OVER` ,`DST_OVER` ,`SRC_IN` , `DST_IN` ,`SRC_OUT` ,`DST_OUT` , `SRC_ATOP` ,`DST_ATOP` , 또는 `XOR` 의 머지않아도 아닌 경우

### getInstance

    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` , 또는 `XOR` 의 머지않아도 아닌 경우

### createContext

    public CompositeContext  createContext(ColorModel  srcColorModel,
                                          ColorModel  dstColorModel,
                                          RenderingHints  hints)

  합성 조작의 문맥을 작성합니다. 문맥에는, 합성 조작을 실행하는 경우 상태가 설정됩니다.

  정의:
    인터페이스 `Composite` 내의 `createContext`
  파라미터:
    `srcColorModel` - 전송원 `ColorModel`
    `dstColorModel` - 전송처의 `ColorModel`
    `hints` - 문맥 객체가 draw의 선택사항을 선택할 경우에 사용하는 힌트
  반환값:
    합성 조작을 실행하기 위해서 사용되는 `CompositeContext` 객체

### getAlpha

    public float getAlpha()

  이 `AlphaComposiste` 의 알파치를 돌려줍니다. 이 `AlphaComposiste` 가 알파치를 가지지 않는 경우는, 1.0 이 돌려주어집니다.

  반환값:
    이 `AlphaComposite` 의 알파치

### getRule

    public int getRule()

  이 `AlphaComposite` 의 합성 규칙을 돌려줍니다.

  반환값:
    이 `AlphaComposite` 의 합성 규칙

### derive

    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` 의 머지않아도 아닌 경우
  도입된 버젼:
    1.6

### derive

    public AlphaComposite  derive(float alpha)

  지정된 알파치를 사용하는 유사한 `AlphaComposite` 객체를 돌려줍니다. 지정된 알파치가 이 객체로 벌써 사용되고 있는 경우는, 이 객체가 돌려주어집니다.

  파라미터:
    `alpha` - 전송원의 알파에 거는 정수 알파. `alpha` 는, 범위 [0.0, 1. 0] (양단을 포함한다)의 부동 소수점수(실수)치가 아니면 안된다
  반환값:
    지정된 알파치를 사용하는, 이 객체로부터 파생한 `AlphaComposite` 객체
  예외:
    `IllegalArgumentException` - 다음의 조건이 성립하는 경우: `alpha` 가 0.0 보다 작은가 1.0 보다 큰 경우
  도입된 버젼:
    1.6

### hashCode

    public int hashCode()

  이 합성의 해시 코드를 돌려줍니다.

  오버라이드(override):
    클래스 `Object` 내의 `hashCode`
  반환값:
    이 합성의 해시 코드
  관련 항목:
    `Object.equals(java.lang.Object)` , `Hashtable`

### equals

    public boolean equals(Object  obj)

  지정한 객체가 이 `AlphaComposite` 와 같은지 어떤지를 판정합니다.

  인수가 `null` 가 아니고, 이 객체와 같은 합성 규칙 및 알파치를 사용하는 `AlphaComposite` 객체인 경우만, 결과가 `true` 가 됩니다.

  오버라이드(override):
    클래스 `Object` 내의 `equals`
  파라미터:
    `obj` - 동일한지 어떤지가 판정되는 `Object`
  반환값:
    `obj` 가 이 `AlphaComposite` 와 동일한 경우는 `true`, 그렇지 않은 경우는 `false`
  관련 항목:
    `Object.hashCode()` , `Hashtable`

개요 | 패키지 | 클래스 | 사용 | 계층 트리 | 비추천 API | 색인 | 헬프

JavaTM Platform
Standard Ed. 6

전의 클래스 다음의 클래스 | 프레임 있어 프레임 없음
개요: 상자 | 필드 | 생성자 | 메소드 | 상세 : 필드 | 생성자 | 메소드

버그의 보고와 기능의 요청
한층 더 자세한 API 레퍼런스 및 개발자 문서에 대해서는,Java SE 개발자용 문서를 참조해 주세요. 개발자전용의 상세한 해설, 개념의 개요, 용어의 정의, 버그의 회피책, 및 코드 실례가 포함되어 있습니다.

Copyright 2006 Sun Microsystems, Inc. All rights reserved. Use is subject to license terms . Documentation Redistribution Policy 도 참조해 주세요.