Есть картинка класса Image
. Требуется отобразить её в произвольной форме. Например, как в мессенджерах - у пользователя аватар прямоугольной формы, а отображается он форме круга. Какими способами это можно сделать?
Вашу задачу можно реализовать, используя ImagePattern
. Есть несколько уже разработанных ораклом форм одной из которых является круг - Circle
. Объединив все это можно получить следующее:
import javafx.application.Application;
import javafx.scene.Group;
import javafx.scene.Scene;
import javafx.scene.image.Image;
import javafx.scene.paint.ImagePattern;
import javafx.scene.shape.Circle;
import javafx.stage.Stage;
public class Test extends Application {
@Override
public void start(Stage stage) {
Group root = new Group();
Scene scene = new Scene(root);
Image image = new Image("https://pbs.twimg.com/profile_images/800840075311333376/515GX-Cc_400x400.jpg");
Circle circle = new Circle(60);
circle.setCenterX(60);
circle.setCenterY(60);
circle.setFill(new ImagePattern(image, 0, 0, 120, 120, false));
root.getChildren().add(circle);
stage.setScene(scene);
stage.show();
}
public static void main(String args[]) {
launch(args);
}
}
Результат выполнения будет логотип в виде круга, хотя оригинал картинки прямоугольный.
Кофе для программистов: как напиток влияет на продуктивность кодеров?
Рекламные вывески: как привлечь внимание и увеличить продажи
Стратегії та тренди в SMM - Технології, що формують майбутнє сьогодні
Выделенный сервер, что это, для чего нужен и какие характеристики важны?
Современные решения для бизнеса: как облачные и виртуальные технологии меняют рынок
Всем добрый день, в моём приложение почти сделал мини-браузерОсталось реализовать сохранение и загрузку cookie в WebView у JavaFX
Есть объект AnchorPaneВ свойствах установлено ширина и максимальная ширина 720