|
JavaTM Platform Standard Ed. 6 |
|||||||||
전의 클래스 다음의 클래스 | 프레임 있어 프레임 없음 | |||||||||
개요 : 상자 | 필드 | 생성자 | 메소드 | 상세: 필드 | 생성자 | 메소드 |
java.lang.Objectjava.awt.MultipleGradientPaint
java.awt.LinearGradientPaint
public final class LinearGradientPaint
LinearGradientPaint
클래스는, 색의 선형 그라이데이션 패턴으로 Shape
를 전부 칠하는 수단을 제공합니다. 사용자는 그라데이션의 색을 2 색이상 지정할 수 있어 이 경우의 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}
사용자는, 시점과 종점의 외측에서 색을 전부 칠할 때 LinearGradientPaint
로 실행되는 동작을 선택할 수도 있습니다. 순환 방법을 지정하지 않는 경우는, 디폴트로 NO_CYCLE
가 선택됩니다. 즉, 나머지의 영역을 전부 칠하기 위해서(때문에) 단 점의 색이 사용됩니다.
colorSpace 파라미터에서는, 보간이 실행되는 칼라 스페이스 (디폴트의 sRGB 또는 선형화 된 RGB)를 지정할 수 있습니다.
다음의 코드는,LinearGradientPaint
의 일반적인 사용법을 나타내고 있습니다.
Point2D start = new Point2D.Float(0, 0); Point2D end = new Point2D.Float(50, 50); float[] dist = {0.0f, 0.2f, 1.0f}; Color[] colors = {Color.RED, Color.WHITE, Color.BLUE}; LinearGradientPaint p = new LinearGradientPaint(start, end, dist, colors);
이 코드에 의해,LinearGradientPaint
가 작성되어 그라데이션의 최초의 20% 는 빨강과 흰색의 사이에 보간 되어 나머지의 80% 는 흰색과 파랑의 사이에 보간 됩니다.
3 개의 순환 방법의 각각 붙어, 상기의 코드 예의 결과는 다음의 이미지와 같이 됩니다.
Paint
,
Graphics2D.setPaint(java.awt.Paint)
상자의 클래스의 개요 |
---|
클래스 java.awt. MultipleGradientPaint 로부터 상속된 상자의 클래스/인터페이스 |
---|
MultipleGradientPaint.ColorSpaceType , MultipleGradientPaint.CycleMethod |
필드의 개요 |
---|
인터페이스 java.awt. Transparency 로부터 상속된 필드 |
---|
BITMASK , OPAQUE , TRANSLUCENT |
생성자 의 개요 | |
---|---|
LinearGradientPaint (float startX,
float startY,
float endX,
float endY,
float[] fractions,
Color [] colors)
디폴트의 NO_CYCLE 반복 메소드와 sRGB 칼라 스페이스를 사용해,LinearGradientPaint 를 구축합니다. |
|
LinearGradientPaint (float startX,
float startY,
float endX,
float endY,
float[] fractions,
Color [] colors,
MultipleGradientPaint.CycleMethod cycleMethod)
디폴트의 sRGB 칼라 스페이스를 사용해,LinearGradientPaint 를 구축합니다. |
|
LinearGradientPaint (Point2D start,
Point2D end,
float[] fractions,
Color [] colors)
디폴트의 NO_CYCLE 반복 메소드와 sRGB 칼라 스페이스를 사용해,LinearGradientPaint 를 구축합니다. |
|
LinearGradientPaint (Point2D start,
Point2D end,
float[] fractions,
Color [] colors,
MultipleGradientPaint.CycleMethod cycleMethod)
디폴트의 sRGB 칼라 스페이스를 사용해,LinearGradientPaint 를 구축합니다. |
|
LinearGradientPaint (Point2D start,
Point2D end,
float[] fractions,
Color [] colors,
MultipleGradientPaint.CycleMethod cycleMethod,
MultipleGradientPaint.ColorSpaceType colorSpace,
AffineTransform gradientTransform)
LinearGradientPaint 를 구축합니다. |
메소드의 개요 | |
---|---|
PaintContext |
createContext (ColorModel cm,
Rectangle deviceBounds,
Rectangle2D userBounds,
AffineTransform transform,
RenderingHints hints)
칼라 패턴을 생성하기 위해서 사용하는 PaintContext 를 작성해 돌려줍니다. |
Point2D |
getEndPoint ()
그라데이션축의 종점의 카피를 돌려줍니다. |
Point2D |
getStartPoint ()
그라데이션축의 시점의 카피를 돌려줍니다. |
클래스 java.awt. MultipleGradientPaint 로부터 상속된 메소드 |
---|
getColors , getColorSpace , getCycleMethod , getFractions , getTransform , getTransparency |
클래스 java.lang. Object 로부터 상속된 메소드 |
---|
clone , equals , finalize , getClass , hashCode , notify , notifyAll , toString , wait , wait , wait |
생성자 의 상세 |
---|
public LinearGradientPaint(float startX, float startY, float endX, float endY, float[] fractions, Color [] colors)
NO_CYCLE
반복 메소드와 sRGB
칼라 스페이스를 사용해,LinearGradientPaint
를 구축합니다.
startX
- 사용자 공간에서 그라데이션축의 시점의
X 좌표startY
- 사용자 공간에서 그라데이션축의 시점의
Y 좌표endX
- 사용자 공간에서 그라데이션축의 종점의
X 좌표endY
- 사용자 공간에서 그라데이션축의 종점의
Y 좌표fractions
- 0.0 ~ 1.0 의 범위의 수치.
그라데이션에서의 색분포를 지정하는colors
- 각 소수치에 대응하는 색의 배열
NullPointerException
- fractions
배열이 null 의 경우,
또는 colors
배열이 null 의 경우
IllegalArgumentException
- 시점과 종점이 같은 점인 경우,
fractions.length ! = colors.length
인 경우,
colors
의 사이즈가 2 보다 작은 경우,
fractions
의 값이 0.0 보다 작은가 1.0 보다 큰 경우,
또는 fractions
가 엄밀한 승순으로 지정되지 않는 경우public LinearGradientPaint(float startX, float startY, float endX, float endY, float[] fractions, Color [] colors, MultipleGradientPaint.CycleMethod cycleMethod)
sRGB
칼라 스페이스를 사용해,LinearGradientPaint
를 구축합니다.
startX
- 사용자 공간에서 그라데이션축의 시점의
X 좌표startY
- 사용자 공간에서 그라데이션축의 시점의
Y 좌표endX
- 사용자 공간에서 그라데이션축의 종점의
X 좌표endY
- 사용자 공간에서 그라데이션축의 종점의
Y 좌표fractions
- 0.0 ~ 1.0 의 범위의 수치.
그라데이션에서의 색분포를 지정하는colors
- 각 소수치에 대응하는 색의 배열cycleMethod
- NO_CYCLE
,REFLECT
,
REPEAT
의 언젠가
NullPointerException
- fractions
배열이 null 의 경우,
colors
배열이 null 의 경우,
또는 cycleMethod
가 null 의 경우
IllegalArgumentException
- 시점과 종점이 같은 점인 경우,
fractions.length ! = colors.length
인 경우,
colors
의 사이즈가 2 보다 작은 경우,
fractions
의 값이 0.0 보다 작은가 1.0 보다 큰 경우,
또는 fractions
가 엄밀한 승순으로 지정되지 않는 경우public LinearGradientPaint(Point2D start, Point2D end, float[] fractions, Color [] colors)
NO_CYCLE
반복 메소드와 sRGB
칼라 스페이스를 사용해,LinearGradientPaint
를 구축합니다.
start
- 사용자 공간내에서 그라데이션축의 시점을 나타내는 Point2D
end
- 사용자 공간내에서 그라데이션축의 종점을 나타내는 Point2D
fractions
- 0.0 ~ 1.0 의 범위의 수치.
그라데이션에서의 색분포를 지정하는colors
- 각 소수치에 대응하는 색의 배열
NullPointerException
- 점중 한쪽이 null 의 경우,
fractions
배열이 null 의 경우,
또는 colors
배열이 null 의 경우
IllegalArgumentException
- 시점과 종점이 같은 점인 경우,
fractions.length ! = colors.length
인 경우,
colors
의 사이즈가 2 보다 작은 경우,
fractions
의 값이 0.0 보다 작은가 1.0 보다 큰 경우,
또는 fractions
가 엄밀한 승순으로 지정되지 않는 경우public LinearGradientPaint(Point2D start, Point2D end, float[] fractions, Color [] colors, MultipleGradientPaint.CycleMethod cycleMethod)
sRGB
칼라 스페이스를 사용해,LinearGradientPaint
를 구축합니다.
start
- 사용자 공간내에서 그라데이션축의 시점을 나타내는 Point2D
end
- 사용자 공간내에서 그라데이션축의 종점을 나타내는 Point2D
fractions
- 0.0 ~ 1.0 의 범위의 수치.
그라데이션에서의 색분포를 지정하는colors
- 각 소수치에 대응하는 색의 배열cycleMethod
- NO_CYCLE
,REFLECT
,
REPEAT
의 언젠가
NullPointerException
- 점중 한쪽이 null 의 경우,
fractions
배열이 null 의 경우,
colors
배열이 null 의 경우,
또는 cycleMethod
가 null 의 경우
IllegalArgumentException
- 시점과 종점이 같은 점인 경우,
fractions.length ! = colors.length
인 경우,
colors
의 사이즈가 2 보다 작은 경우,
fractions
의 값이 0.0 보다 작은가 1.0 보다 큰 경우,
또는 fractions
가 엄밀한 승순으로 지정되지 않는 경우public LinearGradientPaint(Point2D start, Point2D end, float[] fractions, Color [] colors, MultipleGradientPaint.CycleMethod cycleMethod, MultipleGradientPaint.ColorSpaceType colorSpace, AffineTransform gradientTransform)
LinearGradientPaint
를 구축합니다.
start
- 사용자 공간내에서 그라데이션축의 시점을 나타내는 Point2D
end
- 사용자 공간내에서 그라데이션축의 종점을 나타내는 Point2D
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
- 시점과 종점이 같은 점인 경우,
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 getStartPoint()
LinearGradientPaint
의 최초의 색을
고정하는 점의 카피인 Point2D
객체public Point2D getEndPoint()
LinearGradientPaint
의 마지막 색을
고정하는 점의 카피인 Point2D
객체
|
JavaTM Platform Standard Ed. 6 |
|||||||||
전의 클래스 다음의 클래스 | 프레임 있어 프레임 없음 | |||||||||
개요 : 상자 | 필드 | 생성자 | 메소드 | 상세: 필드 | 생성자 | 메소드 |
Copyright 2006 Sun Microsystems, Inc. All rights reserved. Use is subject to license terms . Documentation Redistribution Policy 도 참조해 주세요.