Ver Mensaje Individual
  #1 (permalink)  
Antiguo 18/10/2005, 15:44
msi
 
Fecha de Ingreso: marzo-2005
Mensajes: 70
Antigüedad: 20 años
Puntos: 0
Modificar Image en Applet

Hola, estoy dando mis primeros pasos para crear un applet que haga algo parecido al Paint. He creado lo básico y ya tengo problemas debido a que no controlo mucho. Os explico:

El applet carga una imagen vacía y dibujo sobre ella. Para ello escribo:

import java.applet.*;
import java.awt.*;
import java.awt.event.MouseEvent;
import java.awt.event.MouseMotionListener;

public class rgrafica extends Applet implements MouseMotionListener{
Image img;
Graphics grafico;

public void init() {
img = createImage(400,400);
grafico = img.getGraphics();

setBackground(Color.gray);
grafico.setColor(Color.red);

addMouseMotionListener(this);
}


public void mouseMoved(MouseEvent e){}

public void mouseDragged(MouseEvent e){
int x = e.getX();
int y = e.getY();
grafico.fillOval(x-5,y-5,10,10);
repaint();
e.consume();
}


public void paint( Graphics g ) {
g.drawImage(img,25,25,this);
}
}


Esto funciona bien pero yo quiero dibujar sobre "una imagen" y no sobre "una imagen vacía". Para cargar una imagen he visto esto:

img = getImage(getDocumentBase(),"applets/plantilla.jpg");

Pero de esta forma no consigo dibujar encima ya que no puedo crear el Gráfico. Mirando las apis he visto que en:

Con java.awt.Component puedo utilizar:
img = createImage(400,400);
grafico = img.getGraphics();

pero que al utilizar getImage() estoy usando la clase java.awt.Toolkit y en esta clase no viene método getGraphics().

¿Sabeis alguna manera para poder cargar una imagen y poder modificar sobre ella? ¿Tengo que emplear otro tipo de datos?

Un saludo.