Spec-Zone.ru › OpenJavaFX 21

Класс ImagePattern

java.lang.Object
javafx.scene.paint.Paint
javafx.scene.paint.ImagePattern
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-координату начала прямоугольника якоря.
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
Возвращает:
x-координата начала прямоугольника якоря.

getY

public final double getY()
Возвращает y-координату начала прямоугольника якоря.
Значение по умолчанию:
0,0
Возвращает:
y-координата начала прямоугольника якоря.

getWidth

public final double getWidth()
Возвращает ширину прямоугольника якоря.
Значение по умолчанию:
1,0
Возвращает:
Ширина прямоугольника якоря.

getHeight

public final double getHeight()
Возвращает высоту прямоугольника якоря.
Значение по умолчанию:
1,0
Возвращает:
Высота прямоугольника якоря.

isProportional

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

isOpaque

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

© 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