Redimensionar ImageIO

Como faço para redimensionar uma ImageIO que esta pintando um JPanel?

public class PanelPintado extends JPanel
{

private BufferedImage img;
public PanelPintado(){
    try {
    img = ImageIO.read(getClass().getResource("/Imagens/Tela Indisponivel.png"));
     

    } catch (IOException ex) {
    ex.printStackTrace();
    }
}
protected void paintComponent(Graphics g){
if(table_al.getRowCount()==0){
scr_al.setVisible(false);
super.paintComponent(g);   
g.drawImage(img, 0, 0,null);
}
}
}

O ImageIO só faz a leitura e gravação de arquivos. Quem tem os dados da imagem é o BufferedImage, e é nele que você pode executar a operação de redimensionamento. Veja um exemplo em: https://stackoverflow.com/questions/12620158/save-resized-image-java

Abraço.

Você não vai redimensionar o ImageIO, vai redimensionar, ou desenhar de forma redimensionada o Image.

Usa o drawImage sobrecarregado que aceita a largura e altura.

g.drawImage(img, 0, 0, largura, altura, null);
1 curtida