|
JavaTM Platform Standard Ed. 6 |
|||||||||
앞의 클래스 다음의 클래스 | 프레임 있어 프레임 없음 | |||||||||
개요 : 상자 | 필드 | 생성자 | 메소드 | 상세: 필드 | 생성자 | 메소드 |
java.lang.Objectjava.awt.MultipleGradientPaint
java.awt.RadialGradientPaint
public final class RadialGradientPaint
RadialGradientPaint
클래스는, 색의 엔방사상 그라이데이션 패턴으로 형상을 전부 칠하는 수단을 제공합니다. 사용자는 그라데이션의 색을 2 색이상 지정할 수 있어 이 경우의 draw에서는, 각 색의 사이의 보간을 합니다.
사용자는, 그라이데이션 패턴을 제어하는 엔을 지정할 필요가 있습니다. 이 엔은, 중심점과 반경에서 기술됩니다. 그 원내에 있는 다른 초점을 지정할 수도 있습니다. 초점은, 그라데이션의 최초의 색의 위치를 제어합니다. 디폴트에서는, 초점은, 엔의 중심으로 설정됩니다.
이 draw는, 그라데이션의 최초의 색을 초점에 맵 해, 마지막 색을 원주에 맵 해, 그 사이에 있는 사용자가 지정한 색에 대해서는 매끈매끈하게 보간 합니다. 그 때문에 초점으로부터 원주로 draw 되는 모든 선은, 모든 그라데이션의 색을 횡단합니다.
초점을 엔의 반경의 외부에서 지정하면(자), 그라데이션의 최초의 색의 위치로서 사용되는 초점은, 지정한 초점과 중심점을 묶는 선과 원주의 교점으로 설정됩니다.
사용자는, 그라데이션에서의 색의 분포 방법을 지정하는 float 배열을 지정할 필요가 있습니다. 이러한 값은 0.0 ~ 1.0 의 범위내에 있어, 그라데이션에 따른 키 프레임과 같이 기능할 필요가 있습니다. 이러한 값에 의해, 그라데이션을 엄밀하게 특정의 색으로 하는 위치를 마크 합니다.
사용자가 최초의 키 프레임치를 0 으로 설정하지 않는 경우나, 마지막 키 프레임치를 1 으로 설정하지 않는 경우는, 키 프레임이 그 위치에 작성되어 최초의 색이나 마지막 색이 그 위치에 복제됩니다. 예를 들어, 사용자가 다음의 배열을 지정해 그라데이션을 구축한다고 합니다.
{Color.BLUE, Color.RED}, {. 3f, . 7f}이것은, 다음의 키 프레임을 가지는 그라데이션에 변환됩니다.
{Color.BLUE, Color.BLUE, Color.RED, Color.RED}, {0f, . 3f, . 7f, 1f}
사용자는, 엔의 반경의 경계 외부에서 색을 전부 칠할 때 RadialGradientPaint
로 실행되는 동작을 선택할 수도 있습니다. 순환 방법을 지정하지 않는 경우는, 디폴트로 NO_CYCLE
가 선택됩니다. 즉, 나머지의 영역을 전부 칠하기 위해서(때문에) 마지막 키 프레임의 색이 사용됩니다.
colorSpace 파라미터에서는, 보간이 실행되는 칼라 스페이스 (디폴트의 sRGB 또는 선형화 된 RGB)를 지정할 수 있습니다.
다음의 코드는, 중심점과 초점이 동일한 경우의 RadialGradientPaint
의 일반적인 사용법을 나타내고 있습니다.
Point2D center = new Point2D.Float(50, 50); float radius = 25; float[] dist = {0.0f, 0.2f, 1.0f}; Color[] colors = {Color.RED, Color.WHITE, Color.BLUE}; RadialGradientPaint p = new RadialGradientPaint(center, radius, dist, colors);
3 개의 순환 방법의 각각 붙어, 초점이 디폴트의 (중심점에 합쳐졌다) 때의 상기의 코드 예의 결과는 다음의 이미지와 같이 됩니다.
다음의 코드와 같이, 중심점에 합쳐지지 않은 초점을 지정할 수도 있습니다.
Point2D center = new Point2D.Float(50, 50); float radius = 25; Point2D focus = new Point2D.Float(40, 40); float[] dist = {0.0f, 0.2f, 1.0f}; Color[] colors = {Color.RED, Color.WHITE, Color.BLUE}; RadialGradientPaint p = new RadialGradientPaint(center, radius, focus, dist, colors, CycleMethod.NO_CYCLE);
3 개의 순환 방법의 각각 붙어, 초점이 중심점에 합원라고 없을 때의 상기의 코드 예의 결과는 다음의 이미지와 같이 됩니다.
Paint
,
Graphics2D.setPaint(java.awt.Paint)
상자의 클래스의 개요 |
---|
클래스 java.awt. MultipleGradientPaint 로부터 상속된 상자의 클래스/인터페이스 |
---|
MultipleGradientPaint.ColorSpaceType , MultipleGradientPaint.CycleMethod |
필드의 개요 |
---|
인터페이스 java.awt. Transparency 로부터 상속된 필드 |
---|
BITMASK , OPAQUE , TRANSLUCENT |
생성자 의 개요 | |
---|---|
RadialGradientPaint (float cx,
float cy,
float radius,
float[] fractions,
Color [] colors)
초점으로서 중심점을 사용해, 디폴트의 NO_CYCLE 반복 메소드와 SRGB 칼라 스페이스에서 RadialGradientPaint 를 구축합니다. |
|
RadialGradientPaint (float cx,
float cy,
float radius,
float[] fractions,
Color [] colors,
MultipleGradientPaint.CycleMethod cycleMethod)
초점으로서 중심점을 사용해, 디폴트의 SRGB 칼라 스페이스에서 RadialGradientPaint 를 구축합니다. |
|
RadialGradientPaint (float cx,
float cy,
float radius,
float fx,
float fy,
float[] fractions,
Color [] colors,
MultipleGradientPaint.CycleMethod cycleMethod)
디폴트의 SRGB 칼라 스페이스에서 RadialGradientPaint 를 구축합니다. |
|
RadialGradientPaint (Point2D center,
float radius,
float[] fractions,
Color [] colors)
초점으로서 중심점을 사용해, 디폴트의 NO_CYCLE 반복 메소드와 SRGB 칼라 스페이스에서 RadialGradientPaint 를 구축합니다. |
|
RadialGradientPaint (Point2D center,
float radius,
float[] fractions,
Color [] colors,
MultipleGradientPaint.CycleMethod cycleMethod)
초점으로서 중심점을 사용해, 디폴트의 SRGB 칼라 스페이스에서 RadialGradientPaint 를 구축합니다. |
|
RadialGradientPaint (Point2D center,
float radius,
Point2D focus,
float[] fractions,
Color [] colors,
MultipleGradientPaint.CycleMethod cycleMethod)
디폴트의 SRGB 칼라 스페이스에서 RadialGradientPaint 를 구축합니다. |
|
RadialGradientPaint (Point2D center,
float radius,
Point2D focus,
float[] fractions,
Color [] colors,
MultipleGradientPaint.CycleMethod cycleMethod,
MultipleGradientPaint.ColorSpaceType colorSpace,
AffineTransform gradientTransform)
RadialGradientPaint 를 구축합니다. |
|
RadialGradientPaint (Rectangle2D gradientBounds,
float[] fractions,
Color [] colors,
MultipleGradientPaint.CycleMethod cycleMethod)
디폴트의 SRGB 칼라 스페이스에서 RadialGradientPaint 를 구축합니다. |
메소드의 개요 | |
---|---|
PaintContext |
createContext (ColorModel cm,
Rectangle deviceBounds,
Rectangle2D userBounds,
AffineTransform transform,
RenderingHints hints)
칼라 패턴을 생성하기 위해서 사용하는 PaintContext 를 작성해 돌려줍니다. |
Point2D |
getCenterPoint ()
방사상 그라데이션의 중심점의 카피를 돌려줍니다. |
Point2D |
getFocusPoint ()
방사상 그라데이션의 초점의 카피를 돌려줍니다. |
float |
getRadius ()
방사상 그라데이션을 정의하는 엔의 반경을 돌려줍니다. |
클래스 java.awt. MultipleGradientPaint 로부터 상속된 메소드 |
---|
getColors , getColorSpace , getCycleMethod , getFractions , getTransform , getTransparency |
클래스 java.lang. Object 로부터 상속된 메소드 |
---|
clone , equals , finalize , getClass , hashCode , notify , notifyAll , toString , wait , wait , wait |
생성자 의 상세 |
---|
public RadialGradientPaint(float cx, float cy, float radius, float[] fractions, Color [] colors)
NO_CYCLE
반복 메소드와 SRGB
칼라 스페이스에서 RadialGradientPaint
를 구축합니다.
cx
- 그라데이션을 정의하는 엔의 중심점의,
사용자 공간에서의 X 좌표. 그라데이션의 마지막 색은,
이 엔의 원주에 맵 되는cy
- 그라데이션을 정의하는 엔의 중심점의,
사용자 공간에서의 Y 좌표. 그라데이션의 마지막 색은,
이 엔의 원주에 맵 되는radius
- 색의 그라데이션의 확대를 정의한다
엔의 반경fractions
- 0.0 ~ 1.0 의 범위의 수치.
그라데이션에서의 색분포를 지정하는colors
- 그라데이션으로 사용되는 색의 배열. 최초의 색은
초점으로써 사용되어 마지막 색은
원주로 사용된다
NullPointerException
- fractions
배열이 null 의 경우,
또는 colors
배열이 null 의 경우
IllegalArgumentException
- radius
가 정이 아닌 경우,
fractions.length ! = colors.length
인 경우,
colors
의 사이즈가 2 보다 작은 경우,
fractions
의 값이 0.0 보다 작은가 1.0 보다 큰 경우,
또는 fractions
가 엄밀한 승순으로 지정되지 않는 경우public RadialGradientPaint(Point2D center, float radius, float[] fractions, Color [] colors)
NO_CYCLE
반복 메소드와 SRGB
칼라 스페이스에서 RadialGradientPaint
를 구축합니다.
center
- 사용자 공간에서, 그라데이션을 정의하는 엔의
중심점radius
- 색의 그라데이션의 확대를 정의한다
엔의 반경fractions
- 0.0 ~ 1.0 의 범위의 수치.
그라데이션에서의 색분포를 지정하는colors
- 그라데이션으로 사용되는 색의 배열. 최초의 색은
초점으로써 사용되어 마지막 색은
원주로 사용된다
NullPointerException
- center
점이 null 의 경우,
fractions
배열이 null 의 경우,
또는 colors
배열이 null 의 경우
IllegalArgumentException
- radius
가 정이 아닌 경우,
fractions.length ! = colors.length
인 경우,
colors
의 사이즈가 2 보다 작은 경우,
fractions
의 값이 0.0 보다 작은가 1.0 보다 큰 경우,
또는 fractions
가 엄밀한 승순으로 지정되지 않는 경우public RadialGradientPaint(float cx, float cy, float radius, float[] fractions, Color [] colors, MultipleGradientPaint.CycleMethod cycleMethod)
SRGB
칼라 스페이스에서 RadialGradientPaint
를 구축합니다.
cx
- 그라데이션을 정의하는 엔의 중심점의,
사용자 공간에서의 X 좌표. 그라데이션의 마지막 색은,
이 엔의 원주에 맵 되는cy
- 그라데이션을 정의하는 엔의 중심점의,
사용자 공간에서의 Y 좌표. 그라데이션의 마지막 색은,
이 엔의 원주에 맵 되는radius
- 색의 그라데이션의 확대를 정의한다
엔의 반경fractions
- 0.0 ~ 1.0 의 범위의 수치.
그라데이션에서의 색분포를 지정하는colors
- 그라데이션으로 사용되는 색의 배열. 최초의 색은
초점으로써 사용되어 마지막 색은
원주로 사용되는cycleMethod
- NO_CYCLE
,REFLECT
,
REPEAT
의 언젠가
NullPointerException
- fractions
배열이 null 의 경우,
colors
배열이 null 의 경우,
또는 cycleMethod
가 null 의 경우
IllegalArgumentException
- radius
가 정이 아닌 경우,
fractions.length ! = colors.length
인 경우,
colors
의 사이즈가 2 보다 작은 경우,
fractions
의 값이 0.0 보다 작은가 1.0 보다 큰 경우,
또는 fractions
가 엄밀한 승순으로 지정되지 않는 경우public RadialGradientPaint(Point2D center, float radius, float[] fractions, Color [] colors, MultipleGradientPaint.CycleMethod cycleMethod)
SRGB
칼라 스페이스에서 RadialGradientPaint
를 구축합니다.
center
- 사용자 공간에서, 그라데이션을 정의하는 엔의
중심점radius
- 색의 그라데이션의 확대를 정의한다
엔의 반경fractions
- 0.0 ~ 1.0 의 범위의 수치.
그라데이션에서의 색분포를 지정하는colors
- 그라데이션으로 사용되는 색의 배열. 최초의 색은
초점으로써 사용되어 마지막 색은
원주로 사용되는cycleMethod
- NO_CYCLE
,REFLECT
,
REPEAT
의 언젠가
NullPointerException
- center
점이 null 의 경우,
fractions
배열이 null 의 경우,
colors
배열이 null 의 경우,
또는 cycleMethod
가 null 의 경우
IllegalArgumentException
- radius
가 정이 아닌 경우,
fractions.length ! = colors.length
인 경우,
colors
의 사이즈가 2 보다 작은 경우,
fractions
의 값이 0.0 보다 작은가 1.0 보다 큰 경우,
또는 fractions
가 엄밀한 승순으로 지정되지 않는 경우public RadialGradientPaint(float cx, float cy, float radius, float fx, float fy, float[] fractions, Color [] colors, MultipleGradientPaint.CycleMethod cycleMethod)
SRGB
칼라 스페이스에서 RadialGradientPaint
를 구축합니다.
cx
- 그라데이션을 정의하는 엔의 중심점의,
사용자 공간에서의 X 좌표. 그라데이션의 마지막 색은,
이 엔의 원주에 맵 되는cy
- 그라데이션을 정의하는 엔의 중심점의,
사용자 공간에서의 Y 좌표. 그라데이션의 마지막 색은,
이 엔의 원주에 맵 되는radius
- 색의 그라데이션의 확대를 정의한다
엔의 반경fx
- 최초의 색이 맵 되는,
사용자 공간내의 점의 X 좌표fy
- 최초의 색이 맵 되는,
사용자 공간내의 점의 Y 좌표fractions
- 0.0 ~ 1.0 의 범위의 수치.
그라데이션에서의 색분포를 지정하는colors
- 그라데이션으로 사용되는 색의 배열. 최초의 색은
초점으로써 사용되어 마지막 색은
원주로 사용되는cycleMethod
- NO_CYCLE
,REFLECT
,
REPEAT
의 언젠가
NullPointerException
- fractions
배열이 null 의 경우,
colors
배열이 null 의 경우,
또는 cycleMethod
가 null 의 경우
IllegalArgumentException
- radius
가 정이 아닌 경우,
fractions.length ! = colors.length
인 경우,
colors
의 사이즈가 2 보다 작은 경우,
fractions
의 값이 0.0 보다 작은가 1.0 보다 큰 경우,
또는 fractions
가 엄밀한 승순으로 지정되지 않는 경우public RadialGradientPaint(Point2D center, float radius, Point2D focus, float[] fractions, Color [] colors, MultipleGradientPaint.CycleMethod cycleMethod)
SRGB
칼라 스페이스에서 RadialGradientPaint
를 구축합니다.
center
- 사용자 공간에서, 그라데이션을 정의하는 엔의
중심점. 그라데이션의 마지막 색은,
이 엔의 원주에 맵 되는radius
- 색의 그라데이션의 확대를 정의한다
엔의 반경focus
- 최초의 색이 맵 되는 사용자 공간내의 점fractions
- 0.0 ~ 1.0 의 범위의 수치.
그라데이션에서의 색분포를 지정하는colors
- 그라데이션으로 사용되는 색의 배열. 최초의 색은
초점으로써 사용되어 마지막 색은
원주로 사용되는cycleMethod
- NO_CYCLE
,REFLECT
,
REPEAT
의 언젠가
NullPointerException
- 점중 한쪽이 null 의 경우,
fractions
배열이 null 의 경우,
colors
배열이 null 의 경우,
또는 cycleMethod
가 null 의 경우
IllegalArgumentException
- radius
가 정이 아닌 경우,
fractions.length ! = colors.length
인 경우,
colors
의 사이즈가 2 보다 작은 경우,
fractions
의 값이 0.0 보다 작은가 1.0 보다 큰 경우,
또는 fractions
가 엄밀한 승순으로 지정되지 않는 경우public RadialGradientPaint(Point2D center, float radius, Point2D focus, float[] fractions, Color [] colors, MultipleGradientPaint.CycleMethod cycleMethod, MultipleGradientPaint.ColorSpaceType colorSpace, AffineTransform gradientTransform)
RadialGradientPaint
를 구축합니다.
center
- 사용자 공간에서, 그라데이션을 정의하는 엔의
중심점. 그라데이션의 마지막 색은,
이 엔의 원주에 맵 되는radius
- 색의 그라데이션의 확대를 정의한다
엔의 반경focus
- 최초의 색이 맵 되는 사용자 공간내의 점fractions
- 0.0 ~ 1.0 의 범위의 수치.
그라데이션에서의 색분포를 지정하는colors
- 그라데이션으로 사용되는 색의 배열. 최초의 색은
초점으로써 사용되어 마지막 색은
원주로 사용되는cycleMethod
- NO_CYCLE
,REFLECT
,
REPEAT
의 어느쪽이든colorSpace
- 보간에 사용하는 칼라 스페이스.
SRGB
와 LINEAR_RGB
의 어느쪽이든gradientTransform
- 그라데이션에 적용하는 변환
NullPointerException
- 점중 한쪽이 null 의 경우,
fractions
배열이 null 의 경우,
colors
배열이 null 의 경우,
cycleMethod
가 null 의 경우,
colorSpace
가 null 의 경우,
또는 gradientTransform
가 null 의 경우
IllegalArgumentException
- radius
가 정이 아닌 경우,
fractions.length ! = colors.length
인 경우,
colors
의 사이즈가 2 보다 작은 경우,
fractions
의 값이 0.0 보다 작은가 1.0 보다 큰 경우,
또는 fractions
가 엄밀한 승순으로 지정되지 않는 경우public RadialGradientPaint(Rectangle2D gradientBounds, float[] fractions, Color [] colors, MultipleGradientPaint.CycleMethod cycleMethod)
SRGB
칼라 스페이스에서 RadialGradientPaint
를 구축합니다. RadialGradientPaint
의 그라데이션의 엔은, 지정된 바운딩 박스로 정의됩니다.
이 생성자 을 사용하면(자), 다음의 코드 또는 그것과 동등의 코드를 보다 간단하게 표현할 수 있습니다.
double gw = gradientBounds.getWidth(); double gh = gradientBounds.getHeight(); double cx = gradientBounds.getCenterX(); double cy = gradientBounds.getCenterY(); Point2D center = new Point2D.Double(cx, cy); AffineTransform gradientTransform = new AffineTransform(); gradientTransform.translate(cx, cy); gradientTransform.scale(gw / 2, gh / 2); gradientTransform.translate(-cx, -cy); RadialGradientPaint gp = new RadialGradientPaint(center, 1.0f, center, fractions, colors, cycleMethod, ColorSpaceType.SRGB, gradientTransform);
gradientBounds
- 사용자 공간에서, 그라데이션의 가장 외측의 확대를
정의하는 엔의 바운딩 박스fractions
- 0.0 ~ 1.0 의 범위의 수치.
그라데이션에서의 색분포를 지정하는colors
- 그라데이션으로 사용되는 색의 배열. 최초의 색은
초점으로써 사용되어 마지막 색은
원주로 사용되는cycleMethod
- NO_CYCLE
,REFLECT
,
REPEAT
의 언젠가
NullPointerException
- gradientBounds
가 null 의 경우,
fractions
배열이 null 의 경우,
colors
배열이 null 의 경우,
또는 cycleMethod
가 null 의 경우
IllegalArgumentException
- gradientBounds
가 빈 상태(empty)의 경우,
fractions.length ! = colors.length
인 경우,
colors
의 사이즈가 2 보다 작은 경우,
fractions
의 값이 0.0 보다 작은가 1.0 보다 큰 경우,
또는 fractions
가 엄밀한 승순으로 지정되지 않는 경우메소드의 상세 |
---|
public PaintContext createContext(ColorModel cm, Rectangle deviceBounds, Rectangle2D userBounds, AffineTransform transform, RenderingHints hints)
PaintContext
를 작성해 돌려줍니다. CreateContext 에 대한 ColorModel 인수는 힌트에 지나지 않기 때문에, Paint 의 구현은 ColorModel 의 인수에 null 를 받아들일 필요가 있습니다. 어플리케이션이 특정의 ColorModel 를 우선해 사용하지 않는 경우, ColorModel 의 인수 null 는 Paint 의 구현으로, 라스터 처리에 가장 효율적이라고 생각되는 ColorModel 를 자유롭게 사용할 수 있게 됩니다.
API 의 문서에서는, 버젼 1.4 이전의 릴리스에 대해 이 점을 특히 지정하지 않았기 때문에,ColorModel
인수 null 를 받아들이지 않는 Paint
의 구현이 있을 가능성이 있습니다. 개발자가 임의의 소스로부터의 Paint
객체의 createContext
메소드에 ColorModel
인수 null 를 건네주는 코드를 기술하는 경우는,NullPointerException
를 throw 하는 이러한 코드에 대해서, null 를 사용하지 않는 ColorModel
를 작성하는 것으로써, 안전하게 코딩 하는 것이 현명합니다.
cm
- Paint
데이터를 받는다
ColorModel
. 이것은 단지 힌트로서 사용되는deviceBounds
- draw 되는 graphics primitive의
디바이스 공간에서의 바운딩 박스userBounds
- draw 되는 graphics primitive의
사용자 공간에서의 바운딩 박스transform
- 사용자 공간으로부터 디바이스 공간에의
AffineTransform
hints
- 문맥 객체가 draw의 선택사항을
선택할 경우에 사용하는 힌트
PaintContext
PaintContext
public Point2D getCenterPoint()
Point2D
객체public Point2D getFocusPoint()
Point2D
객체public float getRadius()
|
JavaTM Platform Standard Ed. 6 |
|||||||||
앞의 클래스 다음의 클래스 | 프레임 있어 프레임 없음 | |||||||||
개요 : 상자 | 필드 | 생성자 | 메소드 | 상세: 필드 | 생성자 | 메소드 |
Copyright 2006 Sun Microsystems, Inc. All rights reserved. Use is subject to license terms . Documentation Redistribution Policy 도 참조해 주세요.