› Foros › PC › Software libre
// ESTAS DOS FUNCIONES CARGAN UNA IMAGEN QUE SE LE PASA EN EL LIENZO, O AL MENOS ESO ENTENDI CUANDO ME LO EXPLICARON, SE SUPONE QUE TMB SE UTILIZAN PARA CONSEGUIR LO QUE QUIERO, PERO NO CONSIGO NADA.
public void setImageView (BufferedImage img){
this.imgView = img;
this.setPreferredSize(new Dimension(img.getWidth(), img.getHeight()));
}
public void setImageSource (BufferedImage img){
this.imgSource = img;
this.setImageView(img);
g2daux = img.createGraphics();
}
public void paint (Graphics g){
super.paint(g);
Graphics2D g2d = (Graphics2D) g;
if(imgView != null){ //SIRVE PARA CARGAR UNA IMAGEN DEL ORDENADOR AL LIENZO. EN CASO DE SELECCIONALO EN EL MENU.
g2d.drawImage(imgView, 0, 0, this);
}
// APARTIR DE AQUI LO UNICO QUE HAGO ES DARLE A GRAPHICS ATRIBUTOS PARA DIBUJAR, COLOR, TRAZO...ETC ETC...
if(aux_boton==1){
g2d.setColor(co);
}
else{
g2d.setColor(coDere);
}
g2d.setComposite(ac);
if(forma==0){ // El punto
if(rell==1){
g2d.fillOval(p.x, p.y, (int)gr, (int)gr);
}
else{
g2d.drawOval(p.x, p.y, (int)gr, (int)gr);
}
}
else{ // Elipse, Linea y Rectangulo
g2d.setStroke(sk);
//g2d.setRenderingHint(RenderingHints.KEY_ANTIALIASING, RenderingHints.VALUE_ANTIALIAS_ON);
if(rell==0){
g2d.draw(l);
}
else{
if(this.getrell()==1){
g2d.setColor(coDere);
g2d.fill(l);
g2d.setColor(co);
g2d.draw(l);
}
else{
g2d.setPaint(degradar);
g2d.fill(l);
}
}
}
}
private void formMouseDragged(java.awt.event.MouseEvent evt) {
if (SwingUtilities.isLeftMouseButton(evt)){
this.aux_boton=1;
}else if (SwingUtilities.isRightMouseButton(evt)){
this.aux_boton=0;
}
this.p2 = evt.getPoint();
if(this.forma!=0){
this.p2 = evt.getPoint();
pintar(p2); //PINTAR EN UNA FUNCION QUE SE LE PASA UN PUNTO, EL CUAL HACE REFERENCIA AL MOMENTO DONDE SE SUELTA EL RATON. LA FUNCION PINTAR, SE ENCARGA DE GUARDAR EN UN OBJETO TIPO SHAPE QUE FORMA QUEREMOS DIBUJAR, TMB EN ESTA FUNCION GUARDO ALGUNOS ATRIBUTOS PARA DIBUJAR ESA FORMAS...
}
else{
this.p = evt.getPoint();
}
this.repaint();
}
private void formMouseReleased(java.awt.event.MouseEvent evt) {
if (SwingUtilities.isLeftMouseButton(evt)){
this.aux_boton=1;
}else if (SwingUtilities.isRightMouseButton(evt)){
this.aux_boton=0;
}
this.p2 = evt.getPoint();
if(this.forma!=0){
pintar(p2);
if(forma==5){
if(this.aux_curva==1){
this.aux_curva=0;
}else{
this.aux_curva=1;
}
}
}
else{
this.p = evt.getPoint();
}
//g2daux.draw(l);//---> ¿Para que era esto? // CON ESTO ME DIJERON QUE CONSEGUIRIA LO QUE QUIERO....PERO NADA, NO CONSIGO HACER NADA...
this.repaint();
}