Graphics2D gira antes de guardar el archivo

Creo esta imagen con g2d:

ingrese la descripción de la imagen aquí

Aquí está el código:

BufferedImage bufferedImage = new BufferedImage(408, 408, BufferedImage.TYPE_INT_RGB);    
Graphics2D g2d = bufferedImage.createGraphics();
List<Pixel> pixels = cacheRepo.findAll();
pixels.stream().forEach(pixel -> {
    g2d.setColor(getColorFromPixel(pixel));
    g2d.fillRect(getPos(pixel.getPosition().x), getPos(pixel.getPosition().y), 20, 20);
});

Ahora estoy tratando de rotarlo 90 ° anticlok para que el cuadrado azul aparezca en la esquina inferior izquierda:

ingrese la descripción de la imagen aquí

Entonces agrego esto:

g2d.rotate(Math.toRadians(90));
g2d.drawRenderedImage(bufferedImage, null);

Pero la rotación no ocurre (todavía tengo la misma imagen).

Aquí está el código completo, con la parte que guarda la imagen:

 // Constructs a BufferedImage of one of the predefined image types.
    BufferedImage bufferedImage = new BufferedImage(408, 408, BufferedImage.TYPE_INT_RGB);
    // Create a graphics which can be used to draw into the buffered image
    Graphics2D g2d = bufferedImage.createGraphics();
    List<Pixel> pixels = cacheRepo.findAll();
    pixels.stream().forEach(pixel -> {
        g2d.setColor(getColorFromPixel(pixel));
        g2d.fillRect(getPos(pixel.getPosition().x), getPos(pixel.getPosition().y), 20, 20);
    });
    g2d.rotate(Math.toRadians(90));
    g2d.drawRenderedImage(bufferedImage, null);
    g2d.dispose();
    // Save as PNG
    File file = new File("myimage.png");
    try {
        ImageIO.write(bufferedImage, "png", file);
    } catch (IOException e) {
        e.printStackTrace();
    }
Respuesta 1

Soy novato en IntelliJ, solía usar NetBeans. Mi situación es la siguiente: creo la clase y la prueba correspondiente. Creo algún método en la clase. ¿Hay alguna característica en IntelliJ ...

Estoy trabajando con JUNG Graph. El problema en el que estoy trabajando se puede definir de la siguiente manera: dado un gráfico JUNG G = {V, E} y un borde E1, encuentre los nodos / vértices que E1 conecta y elimine el vértice si ...

¿Cómo puedo pasar una función en el método de ejecución cuando llamo usando executeor.scheduleWithFixedDelay Eg. IntStream.range (0, 4) .forEach (i -> executeor.scheduleWithFixedDelay (this :: runOnce, 0, 5000, ...

Advertencia: nuevo en Java, tengo un proyecto simple de Netbeans: solo quería aprender a interactuar con los DB que provienen de php, pensé que podría probar con uno local que se ejecuta en mi computadora. Un montón ...