Преобразовать Polygon в Image

286
04 апреля 2018, 11:42

Можно ли в JavaFx сделать преобразование массива Polygon в класс Image. Либо как-то сохранять их сразу в png, не пользуясь Snapshot. Надо преобразовать массив полигонов, не выводя их на экран, в Image.

Answer 1

snapshot() все-же использовать придется:

package example;
import java.io.File;
import java.io.IOException;
import javafx.application.Platform;
import javafx.embed.swing.JFXPanel;
import javafx.embed.swing.SwingFXUtils;
import javafx.scene.canvas.Canvas;
import javafx.scene.canvas.GraphicsContext;
import javafx.scene.image.WritableImage;
import javax.imageio.ImageIO;
public class Main {
    public static void main(String[] args) {
        new JFXPanel(); // - простой способ инициализировать Toolkit
        Platform.runLater(() -> {
            Canvas canvas = new Canvas(50, 50);
            GraphicsContext gc = canvas.getGraphicsContext2D();
            gc.fillPolygon(new double[]{10, 40, 25}, new double[]{40, 40, 10}, 3);
            WritableImage image = canvas.snapshot(null, null);
            File file = new File("polygon.png");
            try {
                ImageIO.write(SwingFXUtils.fromFXImage(image, null), "png", file);
            } catch (IOException ex) {
                ex.printStackTrace();
            }
        });
    }
}
READ ALSO
Помощь с реккурсией

Помощь с реккурсией

Для функции

227
Несоответствие возвращаемых типов

Несоответствие возвращаемых типов

Есть класс (ByteArrayOutputStream)Хочу добавить его наследнику поддержку интерфейса SeekableByteChannel

266
Получение объекта из TreeSet

Получение объекта из TreeSet

Есть TreeSetсостоящий из объектов класса User как получить первый элемент коллекции? В классе User нет геттеров и сеттеровКод User:

239
Независимая функция в веб приложении Java

Независимая функция в веб приложении Java

Есть веб сервис на сервлетахНужно чтобы в приложении при запуске создавался отдельный поток(и) который делает какую то функцию

252