Estoy tratando de dibujar líneas horizontales y verticales en una imagen en buffer. Debería terminar pareciéndose a una grilla de celdas. Pero cuando ejecuto el código, veo solo dos líneas: la línea más a la izquierda y la línea más alta (es decir, una línea de 0,0 a 0, altura de la imagen & 0,0 al ancho de la imagen, 0) Aquí está el fragmento de código :Dibujar líneas múltiples en una Imagen Buffered
BufferedImage mazeImage = new BufferedImage(imgDim.width, imgDim.height, BufferedImage.TYPE_INT_RGB);
Graphics2D g2d = mazeImage.createGraphics();
g2d.setBackground(Color.WHITE);
g2d.fillRect(0, 0, imgDim.width, imgDim.height);
g2d.setColor(Color.BLACK);
BasicStroke bs = new BasicStroke(2);
g2d.setStroke(bs);
// draw the black vertical and horizontal lines
for(int i=0;i<21;i++){
g2d.drawLine((imgDim.width+2)*i, 0, (imgDim.width+2)*i, imgDim.height-1);
g2d.drawLine(0, (imgDim.height+2)*i, imgDim.width-1, (imgDim.height+2)*i);
}
Y el método de pintura overriden:
public void paint(Graphics g) {
g.drawImage(mazeImage, 0, 0, this);
}
Esto es todo en una clase llamada RobotMaze que se extiende JPanel. Cualquier ayuda es apreciada.
Ah Dammit I! se suponía que debía usar el tamaño de cada variable de celda en lugar de las dimensiones completas ... Lo siento por la pregunta coja chicos y gracias por señalar esto. – Adith