Spec-Zone .ru
спецификации, руководства, описания, API
|
public final class RadialGradientPaint extends MultipleGradientPaint
RadialGradientPaint
класс обеспечивает способ заполнить форму круговым радиальным цветным образцом градиента. Пользователь может определить 2 или больше цвета градиента, и эта краска обеспечит интерполяцию между каждым цветом. Пользователь должен определить круг, управляющий образцом градиента, который описывается центральной точкой и радиусом. Пользователь может также определить отдельный фокус в пределах того круга, который управляет расположением первого цвета градиента. По умолчанию фокус устанавливается быть центром круга.
Эта краска отобразит первый цвет градиента к фокусу, и последний цвет к периметру круга, интерполируя гладко для любых промежуточных цветов, определенных пользователем. Любая, проведенная от фокуса до окружности, таким образом охватит все цвета градиента.
Определение фокуса за пределами радиуса круга заставит кольца образца градиента центрироваться на точке только в краю круга в направлении фокуса. Рендеринг будет внутренне использовать это измененное расположение, как будто это был указанный фокус.
Пользователь должен предоставить массиву плаваний, определяющих, как распределить цвета вдоль градиента. Эти значения должны колебаться от 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
объект берет, когда он заполняет пространство вне радиуса круга, устанавливая CycleMethod
к также REFLECTION
или REPEAT
. Пропорции цвета градиента равны для любой определенной, проведенной от фокуса. Следующие данные показывают, что AB расстояния равен BC расстояния, и AD расстояния равен расстоянию DE.
NO_CYCLE
будет выбран по умолчанию, что означает, последний цвет ключевого кадра будет использоваться, чтобы заполнить остающуюся область. colorSpace параметр позволяет пользователю определять, в котором 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);
Это изображение демонстрирует пример кода выше со значением по умолчанию (центрируемый) фокус для каждого из трех методов цикла:
Также возможно определить нецентрируемый фокус, как в следующем коде:
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);
Это изображение демонстрирует предыдущий пример кода с нецентрируемым фокусом для каждого из трех методов цикла:
Paint
, Graphics2D.setPaint(java.awt.Paint)
MultipleGradientPaint.ColorSpaceType, MultipleGradientPaint.CycleMethod
BITMASK, OPAQUE, TRANSLUCENT
Конструктор и Описание |
---|
RadialGradientPaint(float cx, float cy, float radius, float[] fractions, Color[] colors)
Конструкции a
RadialGradientPaint со значением по умолчанию NO_CYCLE повторение метода и SRGB цветовое пространство, используя центр в качестве фокуса. |
RadialGradientPaint(float cx, float cy, float radius, float[] fractions, Color[] colors, MultipleGradientPaint.CycleMethod cycleMethod)
Конструкции a
RadialGradientPaint со значением по умолчанию SRGB цветовое пространство, используя центр в качестве фокуса. |
RadialGradientPaint(float cx, float cy, float radius, float fx, float fy, float[] fractions, Color[] colors, MultipleGradientPaint.CycleMethod cycleMethod)
Конструкции a
RadialGradientPaint со значением по умолчанию SRGB цветовое пространство. |
RadialGradientPaint(Point2D center, float radius, float[] fractions, Color[] colors)
Конструкции a
RadialGradientPaint со значением по умолчанию NO_CYCLE повторение метода и SRGB цветовое пространство, используя центр в качестве фокуса. |
RadialGradientPaint(Point2D center, float radius, float[] fractions, Color[] colors, MultipleGradientPaint.CycleMethod cycleMethod)
Конструкции a
RadialGradientPaint со значением по умолчанию SRGB цветовое пространство, используя центр в качестве фокуса. |
RadialGradientPaint(Point2D center, float radius, Point2D focus, float[] fractions, Color[] colors, MultipleGradientPaint.CycleMethod cycleMethod)
Конструкции a
RadialGradientPaint со значением по умолчанию SRGB цветовое пространство. |
RadialGradientPaint(Point2D center, float radius, Point2D focus, float[] fractions, Color[] colors, MultipleGradientPaint.CycleMethod cycleMethod, MultipleGradientPaint.ColorSpaceType colorSpace, AffineTransform gradientTransform)
Конструкции a
RadialGradientPaint . |
RadialGradientPaint(Rectangle2D gradientBounds, float[] fractions, Color[] colors, MultipleGradientPaint.CycleMethod cycleMethod)
Конструкции a
RadialGradientPaint со значением по умолчанию SRGB цветовое пространство. |
Модификатор и Тип | Метод и Описание |
---|---|
PaintContext |
createContext(ColorModel cm, Rectangle deviceBounds, Rectangle2D userBounds, AffineTransform transform, RenderingHints hints)
Создает и возвращает a
PaintContext используемый, чтобы генерировать круговой радиальный цветной образец градиента. |
Point2D |
getCenterPoint()
Возвращает копию центральной точки радиального градиента.
|
Point2D |
getFocusPoint()
Возвращает копию фокуса радиального градиента.
|
float |
getRadius()
Возвращает радиус круга, определяющего радиальный градиент.
|
getColors, getColorSpace, getCycleMethod, getFractions, getTransform, getTransparency
public RadialGradientPaint(float cx, float cy, float radius, float[] fractions, Color[] colors)
RadialGradientPaint
со значением по умолчанию NO_CYCLE
повторение метода и SRGB
цветовое пространство, используя центр в качестве фокуса.cx
- эти X координат в пространстве пользователя центральной точки круга, определяющего градиент. Последний цвет градиента отображается на периметр этого круга.cy
- Y координируют в пространстве пользователя центральной точки круга, определяющего градиент. Последний цвет градиента отображается на периметр этого круга.radius
- радиус круга, определяющего степени цветного градиентаfractions
- числа в пределах от 0.0 к 1.0 определениям распределения цветов вдоль градиентаcolors
- массив цветов, чтобы использовать в градиенте. Первый цвет используется в фокусе, последнем цвете вокруг периметра круга.NullPointerException
- если fractions
массив является нулем, или colors
массив является нулемIllegalArgumentException
- если radius
неположительно, или fractions.length != colors.length
, или colors
меньше чем 2 в размере, или a fractions
значение - меньше чем 0.0 или больше чем 1.0, или fractions
не обеспечиваются в строго увеличивающемся порядкеpublic RadialGradientPaint(Point2D center, float radius, float[] fractions, Color[] colors)
RadialGradientPaint
со значением по умолчанию NO_CYCLE
повторение метода и SRGB
цветовое пространство, используя центр в качестве фокуса.center
- центральная точка, в пространстве пользователя, круга, определяющего градиентradius
- радиус круга, определяющего степени цветного градиентаfractions
- числа в пределах от 0.0 к 1.0 определениям распределения цветов вдоль градиентаcolors
- массив цветов, чтобы использовать в градиенте. Первый цвет используется в фокусе, последнем цвете вокруг периметра круга.NullPointerException
- если center
точка является нулем, или fractions
массив является нулем, или colors
массив является нулемIllegalArgumentException
- если radius
неположительно, или fractions.length != colors.length
, или colors
меньше чем 2 в размере, или a fractions
значение - меньше чем 0.0 или больше чем 1.0, или fractions
не обеспечиваются в строго увеличивающемся порядкеpublic RadialGradientPaint(float cx, float cy, float radius, float[] fractions, Color[] colors, MultipleGradientPaint.CycleMethod cycleMethod)
RadialGradientPaint
со значением по умолчанию SRGB
цветовое пространство, используя центр в качестве фокуса.cx
- эти X координат в пространстве пользователя центральной точки круга, определяющего градиент. Последний цвет градиента отображается на периметр этого круга.cy
- Y координируют в пространстве пользователя центральной точки круга, определяющего градиент. Последний цвет градиента отображается на периметр этого круга.radius
- радиус круга, определяющего степени цветного градиентаfractions
- числа в пределах от 0.0 к 1.0 определениям распределения цветов вдоль градиентаcolors
- массив цветов, чтобы использовать в градиенте. Первый цвет используется в фокусе, последнем цвете вокруг периметра круга.cycleMethod
- также NO_CYCLE
, REFLECT
, или REPEAT
NullPointerException
- если fractions
массив является нулем, или colors
массив является нулем, или cycleMethod
нульIllegalArgumentException
- если radius
неположительно, или fractions.length != colors.length
, или colors
меньше чем 2 в размере, или a fractions
значение - меньше чем 0.0 или больше чем 1.0, или fractions
не обеспечиваются в строго увеличивающемся порядкеpublic RadialGradientPaint(Point2D center, float radius, float[] fractions, Color[] colors, MultipleGradientPaint.CycleMethod cycleMethod)
RadialGradientPaint
со значением по умолчанию SRGB
цветовое пространство, используя центр в качестве фокуса.center
- центральная точка, в пространстве пользователя, круга, определяющего градиентradius
- радиус круга, определяющего степени цветного градиентаfractions
- числа в пределах от 0.0 к 1.0 определениям распределения цветов вдоль градиентаcolors
- массив цветов, чтобы использовать в градиенте. Первый цвет используется в фокусе, последнем цвете вокруг периметра круга.cycleMethod
- также NO_CYCLE
, REFLECT
, или REPEAT
NullPointerException
- если center
точка является нулем, или fractions
массив является нулем, или colors
массив является нулем, или cycleMethod
нульIllegalArgumentException
- если radius
неположительно, или fractions.length != colors.length
, или colors
меньше чем 2 в размере, или a 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)
RadialGradientPaint
со значением по умолчанию SRGB
цветовое пространство.cx
- эти X координат в пространстве пользователя центральной точки круга, определяющего градиент. Последний цвет градиента отображается на периметр этого круга.cy
- Y координируют в пространстве пользователя центральной точки круга, определяющего градиент. Последний цвет градиента отображается на периметр этого круга.radius
- радиус круга, определяющего степени цветного градиентаfx
- X координат точки в пространстве пользователя, на которое отображается первый цветfy
- координата Y точки в пространстве пользователя, на которое отображается первый цветfractions
- числа в пределах от 0.0 к 1.0 определениям распределения цветов вдоль градиентаcolors
- массив цветов, чтобы использовать в градиенте. Первый цвет используется в фокусе, последнем цвете вокруг периметра круга.cycleMethod
- также NO_CYCLE
, REFLECT
, или REPEAT
NullPointerException
- если fractions
массив является нулем, или colors
массив является нулем, или cycleMethod
нульIllegalArgumentException
- если radius
неположительно, или fractions.length != colors.length
, или colors
меньше чем 2 в размере, или a fractions
значение - меньше чем 0.0 или больше чем 1.0, или fractions
не обеспечиваются в строго увеличивающемся порядкеpublic RadialGradientPaint(Point2D center, float radius, Point2D focus, float[] fractions, Color[] colors, MultipleGradientPaint.CycleMethod cycleMethod)
RadialGradientPaint
со значением по умолчанию SRGB
цветовое пространство.center
- центральная точка, в пространстве пользователя, круга, определяющего градиент. Последний цвет градиента отображается на периметр этого круга.radius
- радиус круга, определяющего степени цветного градиентаfocus
- точка в пространстве пользователя, на которое отображается первый цветfractions
- числа в пределах от 0.0 к 1.0 определениям распределения цветов вдоль градиентаcolors
- массив цветов, чтобы использовать в градиенте. Первый цвет используется в фокусе, последнем цвете вокруг периметра круга.cycleMethod
- также NO_CYCLE
, REFLECT
, или REPEAT
NullPointerException
- если одна из точек является нулем, или fractions
массив является нулем, или colors
массив является нулем, или cycleMethod
нульIllegalArgumentException
- если radius
неположительно, или fractions.length != colors.length
, или colors
меньше чем 2 в размере, или a fractions
значение - меньше чем 0.0 или больше чем 1.0, или fractions
не обеспечиваются в строго увеличивающемся порядке@ConstructorProperties(value={"centerPoint","radius","focusPoint","fractions","colors","cycleMethod","colorSpace","transform"}) 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
- если одна из точек является нулем, или fractions
массив является нулем, или colors
массив является нулем, или cycleMethod
нуль, или colorSpace
нуль, или gradientTransform
нульIllegalArgumentException
- если radius
неположительно, или fractions.length != colors.length
, или colors
меньше чем 2 в размере, или a fractions
значение - меньше чем 0.0 или больше чем 1.0, или fractions
не обеспечиваются в строго увеличивающемся порядкеpublic RadialGradientPaint(Rectangle2D gradientBounds, float[] fractions, Color[] colors, MultipleGradientPaint.CycleMethod cycleMethod)
RadialGradientPaint
со значением по умолчанию SRGB
цветовое пространство. Круг градиента 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
нуль, или fractions
массив является нулем, или colors
массив является нулем, или cycleMethod
нульIllegalArgumentException
- если gradientBounds
пусто, или fractions.length != colors.length
, или colors
меньше чем 2 в размере, или a fractions
значение - меньше чем 0.0 или больше чем 1.0, или fractions
не обеспечиваются в строго увеличивающемся порядкеpublic PaintContext createContext(ColorModel cm, Rectangle deviceBounds, Rectangle2D userBounds, AffineTransform transform, RenderingHints hints)
PaintContext
используемый, чтобы генерировать круговой радиальный цветной образец градиента. См. описание createContext
метод для информации о нулевой обработке параметра.cm
- привилегированное ColorModel
который представляет самый удобный формат для вызывающей стороны, чтобы получить пиксельные данные, или null
если нет никакого предпочтения.deviceBounds
- ограничивающий прямоугольник пространства устройства представляемого графического примитива.userBounds
- ограничивающий прямоугольник пространства пользователя представляемого графического примитива.transform
- AffineTransform
от пространства пользователя в пространство устройства.hints
- набор подсказок, что объект контекста может использовать, чтобы выбрать между рендерингом альтернатив.PaintContext
для того, чтобы генерировать цветные узоры.Paint
, PaintContext
, ColorModel
, Rectangle
, Rectangle2D
, AffineTransform
, RenderingHints
public Point2D getCenterPoint()
Point2D
объект, который является копией центральной точкиpublic Point2D getFocusPoint()
Point2D
объект, который является копией фокусаpublic float getRadius()
Для дальнейшей ссылки API и документации разработчика, см.
Авторское право © 1993, 2011, Oracle и/или его филиалы. Все права защищены.