Skip to content
Snippets Groups Projects
Select Git revision
  • d3558510ede5b442b9cf43101793ffc6f5e8ee0d
  • main default protected
  • variant
3 results

FirefighterBoard.java

Blame
  • Forked from COUETOUX Basile / FirefighterStarter
    Source project has a limited visibility.
    Code owners
    Assign users and groups as approvers for specific file changes. Learn more.
    Display.java 1.27 KiB
    import javafx.fxml.FXML;
    import javafx.fxml.Initializable;
    import javafx.scene.canvas.Canvas;
    import javafx.scene.canvas.GraphicsContext;
    import javafx.scene.image.PixelWriter;
    
    import java.net.URL;
    import java.util.ResourceBundle;
    
    /**
     * Created by Arnaud Labourel on 04/10/2018.
     */
    public class Display implements Initializable {
        @FXML
        private Canvas canvas;
    
        MatrixGrayImage image;
    
        @Override
        public void initialize(URL location, ResourceBundle resources) {
    
            this.image = MatrixGrayImage.createImageFromPGMFile("images/luminy.pgm");
    
            // TODO : Ajouter les transformations d'image.
    
            render();
        }
    
        public void render() {
            int pixelWidth = image.getWidth();
            int pixelHeight = image.getHeight();
    
            canvas.setWidth(pixelWidth);
            canvas.setHeight(pixelHeight);
    
            GraphicsContext graphicsContext = canvas.getGraphicsContext2D();
    
            PixelWriter pixelWriter = graphicsContext.getPixelWriter();
    
            for (int i = 0; i < pixelWidth; i++) {
                for (int j = 0; j < pixelHeight; j++) {
                    renderPixel(i,j, pixelWriter);
                }
            }
        }
    
        private void renderPixel(int x, int y, PixelWriter pixelWriter) {
            pixelWriter.setColor(x, y, image.getPixelColor(x, y));
        }
    
    }