Dar zoom na imagem

7 respostas
O

Não estou conseguindo dar um zoom na imagem.
Tenho botão de zoom que cada vez que o usuário clica nele, a imagem aumenta ou diminui de tamanho.
Eu diminuo a resolução da imagem por este método

private void showImage(URL imageURL, BufferedImage image) {
       width = image.getWidth()/8;
       height = image.getHeight()/8;

       Image img = new ImageIcon(image).getImage().getScaledInstance(300, height, Image.SCALE_DEFAULT);
       imageLabel.setText(null);
       imageLabel.setIcon(new ImageIcon(img));
    }

Como eu faria para aumentar ou diminuir o tamanho da imagem exibida na tela quando o usuário clicar no botão de zoom?

7 Respostas

V

O que acontece? Nada?
Onde vc altera a propriedade height?
Como está implementado o código do seu botão de zoom?

O

Não acontece nada.

Meu botão está assim

private javax.swing.JButton zoomInButton;
zoomInButton = new javax.swing.JButton("Zoom-In");

zoomInButton.setBounds(700, 15, 160, 30);
	
	toolbar.add(zoomInButton);

        zoomInButton.addActionListener(new ActionListener() {
			public void actionPerformed(ActionEvent event) {
				 width = width/2;
                                                                 height = height/2;

                                 
			}
		});

resourceMap.injectComponents(toolbar);

Como eu devo fazer para alterar o width e height da imagem?

V

Ué, no seu botão você altera width e heigth mas não chama o método que você postou acima, para efetivamente atualizar a imagem…

O

É que o método acima não recebe width e heigth como parametro.
Para chamar o método acima eu teria que passar como parametro uma url e bufferedimage.
Como eu faria isso Vinni?

O

Acho que eu teria que dar um refresh na tela e chamar meu método initComponents() de novo.

O

Eu estou usando o NetBeans.
Também posso criar um botão de zoom automático.
Apenas add as funcoes que aparecem.

Será que dá add um botao de zoom com o menu que eu tenho ao lado?


O

Tipo, pra eu criar o botão NEXT (que avança para o próxima imagem) eu uso este código.

nextButton.setAction(actionMap.get("nextImage")); // NOI18N nextButton.setFocusable(false); nextButton.setHorizontalTextPosition(javax.swing.SwingConstants.CENTER); nextButton.setName("nextButton"); // NOI18N nextButton.setVerticalTextPosition(javax.swing.SwingConstants.BOTTOM); toolbar.add(nextButton);

Não teria como usar algum actionMap.get para dar zoom nas imagens tbm?

Criado 19 de agosto de 2009
Ultima resposta 20 de ago. de 2009
Respostas 7
Participantes 2