private void guardarImagen(File f) { try { int w = panelImagen.getWidth(); int h = panelImagen.getHeight(); BufferedImage buffIm = new BufferedImage(w, h, BufferedImage.TYPE_INT_RGB); Graphics2D g = buffIm.createGraphics(); panelImagen.paint(g); ImageIO.write(buffIm, "png", f); } catch (IOException e) { System.out.println("Error de escritura"); } }
protected void cargar(File f) { // Parsear archivo *.sur para cargar estructura Objeto3D obj = new Objeto3D(f); // Mostrar objeto en pantalla panelImagen.setObjeto(obj); actualizarLuz(); }
protected void actualizarVista() { String vista = (String) comboVista.getSelectedItem(); switch (vista) { case "Solido": panelImagen.setVista(Objeto3D.VISTA_SOLIDO); break; case "Triangulacion": panelImagen.setVista(Objeto3D.VISTA_TRIANGULOS); break; case "Puntos": panelImagen.setVista(Objeto3D.VISTA_PUNTOS); break; default: break; } }
protected void actualizarMuestraAmbiente() { int r = (int) spinAmbRed.getValue(); int g = (int) spinAmbGreen.getValue(); int b = (int) spinAmbBlue.getValue(); Color c = new Color(r, g, b); lblAmbMuestra.setIcon(new ImageIcon(new ImgMuestra(c, 80, 80))); panelImagen.setAmbientColor(c); }
protected void actualizarMuestraObjeto() { int r = (int) spinObjRed.getValue(); int g = (int) spinObjGreen.getValue(); int b = (int) spinObjBlue.getValue(); Color c = new Color(r, g, b); lblObjMuestra.setIcon(new ImageIcon(new ImgMuestra(c, 80, 80))); panelImagen.setObjectColor(c); }
protected void agregarTransformacionTabla() { if (!panelImagen.isCargado()) return; double[][] matriz = new double[4][4]; for (int i = 0; i < 4; i++) { for (int j = 0; j < 4; j++) { Object valor = tableTransformacion.getValueAt(i, j); try { if (valor != null) { matriz[i][j] = Double.parseDouble((String) valor); } } catch (Exception e) { } } } panelImagen.objeto.aplicarTransformacion((new MatrizTransformacion(matriz))); panelImagen.updateUI(); }
protected void actualizarLuz() { panelImagen.setLuzPunto(comboLuz.getSelectedIndex()); }