Spec-Zone.ru › OpenJavaFX 24

Класс ImagePattern

java.lang.Object
javafx.scene.paint.Paint
javafx.scene.paint.ImagePattern
Все реализованные интерфейсы:
Interpolatable<Paint>
public final class ImagePattern extends Paint

Класс ImagePattern заполняет фигуру узором изображения. Пользователь может указать прямоугольник якоря, который определяет положение, ширину и высоту изображения относительно левого верхнего угла фигуры. Если фигура выходит за пределы прямоугольника якоря, изображение повторяется.

Если переменная proportional установлена в true (по умолчанию), то прямоугольник якоря должен быть задан относительно единичного квадрата (0.0->1.0) и будет растянут по всей фигуре. Если переменная proportional установлена в false, то прямоугольник якоря должен быть задан в локальной системе координат фигуры, а изображение будет растянуто, чтобы уместиться в прямоугольник якоря. Прямоугольник якоря не будет растянут по всей фигуре.

Пример ниже демонстрирует использование переменной proportional. Фигуры в верхней строке используют пропорциональные координаты (по умолчанию) для задания прямоугольника якоря. Фигуры в нижней строке используют абсолютные координаты. Изображение цветка растягивается, чтобы заполнить всю треугольную фигуру, а изображение точек повторяется в пределах круговой фигуры.


import javafx.scene.Scene;
import javafx.scene.image.Image;
import javafx.scene.paint.ImagePattern;
import javafx.scene.shape.Circle;
import javafx.scene.shape.Polygon;
import javafx.stage.Stage;

public class HelloImagePattern extends Application {

    private static final String flowerURL = "file:flower.png";
    private static final String dotsURL = "file:dots.png";

    @Override public void start(Stage stage) {
        stage.setTitle("Image Pattern");
        Group root = new Group();
        Scene scene = new Scene(root, 600, 450);

        Image dots = new Image(dotsURL);
        Image flower = new Image(flowerURL);

        Polygon p = new Polygon();

        p.setLayoutX(10);
        p.setLayoutY(10);
        p.getPoints().add(50.0);
        p.getPoints().add(0.0);
        p.getPoints().add(100.0);
        p.getPoints().add(100.0);
        p.getPoints().add(0.0);
        p.getPoints().add(100.0);

        p.setFill(new ImagePattern(flower, 0, 0, 1, 1, true));

        root.getChildren().add(p);

        Polygon p2 = new Polygon();

        p2.setLayoutX(10);
        p2.setLayoutY(120);
        p2.getPoints().add(50.0);
        p2.getPoints().add(0.0);
        p2.getPoints().add(100.0);
        p2.getPoints().add(100.0);
        p2.getPoints().add(0.0);
        p2.getPoints().add(100.0);

        p2.setFill(new ImagePattern(flower, 0, 0, 100, 100, false));

        root.getChildren().add(p2);

        Circle circ = new Circle(50);
        circ.setTranslateX(120);
        circ.setTranslateY(10);
        circ.setCenterX(50);
        circ.setCenterY(50);
        circ.setFill(new ImagePattern(dots, 0.2, 0.2, 0.4, 0.4, true));

        root.getChildren().add(circ);

        Circle circ2 = new Circle(50);
        circ2.setTranslateX(120);
        circ2.setTranslateY(10);
        circ2.setCenterX(50);
        circ2.setCenterY(50);
        circ2.setFill(new ImagePattern(dots, 20, 20, 40, 40, false));

        root.getChildren().add(circ2);
        stage.setScene(scene);
        stage.show();
    }

Код выше генерирует следующее:

A visual rendering of the
 HelloImagePattern example

С:
JavaFX 2.2

Краткое описание конструкторов

Конструктор Описание
ImagePattern(Image image)
Создаёт новый экземпляр ImagePattern из указанного изображения.
ImagePattern(Image image, double x, double y, double width, double height, boolean proportional)
Создаёт новый экземпляр ImagePattern.

Краткое описание методов

Модификатор и тип Метод Описание
final double getHeight()
Получает высоту прямоугольника якоря.
final Image getImage()
Получает изображение, используемое в качестве заливки.
final double getWidth()
Получает ширину прямоугольника якоря.
final double getX()
Получает x-координату начала прямоугольника якоря.
final double getY()
Получает y-координату начала прямоугольника якоря.
ImagePattern interpolate(ImagePattern endValue, double t)
Возвращает промежуточное значение между значением этого ImagePattern и указанным endValue с использованием линейного коэффициента интерполяции t, в диапазоне от 0 (включительно) до 1 (включительно).
Paint interpolate(Paint endValue, double t)
Возвращает промежуточное значение между значением этого Interpolatable и указанным endValue с использованием линейного коэффициента интерполяции t, в диапазоне от 0 (включительно) до 1 (включительно).
final boolean isOpaque()
Получает, является ли эта заливка полностью непрозрачной.
final boolean isProportional()
Получает булево значение, указывающее, являются ли начальные и конечные точки пропорциональными или абсолютными.

Методы, объявленные в классе javafx.scene.paint.Paint

valueOf

Методы, объявленные в классе java.lang.Object

clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait

Подробное описание конструкторов

ImagePattern

public ImagePattern(Image image)
Создаёт новый экземпляр ImagePattern из указанного изображения. Значения по умолчанию используются для всех остальных параметров.
Параметры:
image - изображение, используемое в качестве заливки.
Исключения:
NullPointerException - если изображение равно null.
IllegalArgumentException - если изображение не завершило загрузку, то есть, если прогресс меньше 1.

ImagePattern

public ImagePattern(Image image, double x, double y, double width, double height, boolean proportional)
Создаёт новый экземпляр ImagePattern.
Параметры:
image - изображение, используемое в качестве заливки.
x - начальная координата x прямоугольника якоря.
y - начальная координата y прямоугольника якоря.
width - ширина прямоугольника якоря.
height - высота прямоугольника якоря.
proportional - указывает, являются ли координаты пропорциональными форме, которую заполняет ImagePattern
Исключения:
NullPointerException - если изображение равно null.
IllegalArgumentException - если изображение не завершило загрузку, то есть, если прогресс меньше 1.

Подробное описание методов

getImage

public final Image getImage()
Возвращает изображение, используемое в качестве заливки.
Тип интерполяции:
дискретный
Возвращает:
Изображение, используемое в качестве заливки.

getX

public final double getX()
Возвращает начальную координату x прямоугольника якоря.
Значение по умолчанию:
0.0
Тип интерполяции:
линейный, если оба значения абсолютные или оба значения пропорциональные proportional, дискретный в противном случае
Возвращает:
Начальную координату x прямоугольника якоря.

getY

public final double getY()
Возвращает начальную координату y прямоугольника якоря.
Значение по умолчанию:
0.0
Тип интерполяции:
линейный, если оба значения абсолютные или оба значения пропорциональные proportional, дискретный в противном случае
Возвращает:
Начальную координату y прямоугольника якоря.

getWidth

public final double getWidth()
Возвращает ширину прямоугольника якоря.
Значение по умолчанию:
1.0
Тип интерполяции:
линейный, если оба значения абсолютные или оба значения пропорциональные proportional, дискретный в противном случае
Возвращает:
Ширина прямоугольника якоря.

getHeight

public final double getHeight()
Возвращает высоту прямоугольника якоря.
Значение по умолчанию:
1.0
Тип интерполяции:
линейный, если оба значения абсолютные или оба значения пропорциональные proportional, дискретный в противном случае
Возвращает:
Высота прямоугольника якоря.

isProportional

public final boolean isProportional()
Возвращает логическое значение, указывающее, являются ли начальные и конечные координаты пропорциональными или абсолютными. Если этот флаг имеет значение true, то две конечные точки определяются в пространстве координат, где координаты в диапазоне [0..1] масштабируются для отображения на границах формы, которую заполняет шаблон. Если этот флаг имеет значение false, то координаты задаются в локальной системе координат узла.
Значение по умолчанию:
true
Тип интерполяции:
дискретный
Возвращает:
Логическое значение, равное true, если заливка пропорциональная.

isOpaque

public final boolean isOpaque()
Описание скопировано из класса: Paint
Возвращает, является ли эта заливка полностью непрозрачной. Непрозрачная заливка — это заливка, у которой в любом из ее цветов нет альфа-компонента. Возможно, что заливка является непрозрачной, но возвращает false, если нельзя легко определить, действительно ли заливка непрозрачна. Например, ImagePattern может не иметь возможности быстро определить свою непрозрачность.
Определено в:
isOpaque в классе Paint
Возвращает:
true, если заливка непрозрачна, false — если нет или если это невозможно определить.

interpolate

public ImagePattern interpolate(ImagePattern endValue, double t)
Возвращает промежуточное значение между значением этого ImagePattern и указанным endValue, используя линейный коэффициент интерполяции t, изменяющийся от 0 (включительно) до 1 (включительно).
Параметры:
endValue - целевое значение
t - коэффициент интерполяции
Возвращает:
промежуточное значение
Исключения:
NullPointerException - если endValue является null
С:
24

interpolate

public Paint interpolate(Paint endValue, double t)
Возвращает промежуточное значение между значением этого Interpolatable и указанным endValue, используя линейный коэффициент интерполяции t, изменяющийся от 0 (включительно) до 1 (включительно).

Возвращаемое значение может не быть новым экземпляром; реализация также может вернуть один из двух существующих экземпляров, если промежуточное значение будет равно одному из существующих значений. Однако это оптимизация, и приложения не должны предполагать какой-либо особой идентичности возвращаемого значения.

Параметры:
endValue - целевое значение
t - коэффициент интерполяции
Возвращает:
промежуточное значение
Исключения:
NullPointerException - если endValue является null
С:
24

Сообщить об ошибке или предложить улучшение
Авторские права © 2008, 2025, Oracle и/или его филиалы. Все права защищены.

© 2008, 2025, Oracle and/or its affiliates. All rights reserved.
Documentation extracted from JavaFX API Documentation.
Licensed under the GNU General Public License, version 2, with the Classpath Exception.
Java, JavaFX and OpenJDK are trademarks or registered trademarks of Oracle and/or its affiliates.

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API