[i]Bom dia caros,
Antes de tudo, quero relatar que pesquisei no fórum, google, documentação, no entanto não consegui fazer, por isso estou colocando aqui este meu tópico. Quero fazer um método que dê um zoom na imagem. Mas não posso usar a API graphics 2d, apenas a graphics. Para dar um zoom ou eu consegui colocando um acumulador e o mesmo somando nas coordenadas da imagem (como exemplo que usei RETA), no entanto, para fazer o zoom in não deu certo.
Veja o código do botão ZOOM:
private void jButton2ActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_jButton2ActionPerformed
scala = jcEscala.get(jComboBox2.getSelectedIndex());
cont = cont +30;
if (desenho.equals("Linha")){
if (scala.equals("Mais zoom")){
((Desenha)this.jPanel2).desenhaLinha(400-cont,190-cont, 500+cont, 290+cont);
}
if (scala.equals("Menos zoom")){
((Desenha)this.jPanel2).apaga(0,0);
((Desenha)this.jPanel2).desenhaLinha(400+cont,190+cont, 500-cont, 290-cont);
}
}
E os métodos que chamo:
public void desenhaLinha(int xLinha, int yLinha) {
Graphics g = (Graphics) this.getGraphics();
g.setColor(Color.black);
g.drawLine(xLinha, yLinha, xLinha+100, yLinha+100);
g.setColor(Color.black);
}
public void escalaLinha(int xLinha, int yLinha, int x2Linha, int y2Linha) {
Graphics g = (Graphics) this.getGraphics();
g.setColor(Color.black);
g.drawLine(xLinha, yLinha, x2Linha, y2Linha);
g.setColor(Color.black);
}
public void apaga(int xi, int yi) {
tam_x = 900, tam_y = 480;
Graphics g = (Graphics) this.getGraphics();
g.setColor(Color.white);
g.fillRect(xi, yi, tam_x, tam_y);// (inicio_x, inici_y, tam_x, tam_y)
}
Alguém?