Buscar..


Introducción

Los gráficos son imágenes visuales o diseños en alguna superficie, como una pared, lienzo, pantalla, papel o piedra para informar, ilustrar o entretener. Incluye: representación gráfica de datos, como en el diseño y fabricación asistidos por computadora, en la composición tipográfica y las artes gráficas, y en software educativo y recreativo. Las imágenes que son generadas por una computadora se llaman gráficos de computadora.

La API Java 2D es potente y compleja. Hay varias formas de hacer gráficos 2D en Java.

Ejemplo 1: dibujar y rellenar un rectángulo utilizando Java

Este es un ejemplo que imprime un rectángulo y color de relleno en el rectángulo. https://i.stack.imgur.com/dlC5v.jpg introduzca la descripción de la imagen aquí

La mayoría de los métodos de la clase Gráficos se pueden dividir en dos grupos básicos:

  1. Dibuje y complete métodos, que le permiten representar formas básicas, texto e imágenes.
  2. Métodos de configuración de atributos, que afectan la forma en que aparecen los dibujos y rellenos.

Ejemplo de código: Comencemos con un pequeño ejemplo de dibujo de un rectángulo y color de relleno. Allí declaramos dos clases, una clase es MyPanel y otra clase es prueba. En la clase MyPanel usamos mathods drawRect () & fillRect () para dibujar un rectángulo y colorear en él. Establecemos el color mediante el método setColor (Color.blue). En Segunda clase, probamos nuestro gráfico, que es la clase de prueba, creamos un cuadro y colocamos MyPanel con p = nuevo objeto MyPanel (). Al ejecutar la clase de prueba, vemos un rectángulo y un rectángulo de color azul.

Primera clase: MyPanel

import javax.swing.*;
import java.awt.*;
// MyPanel extends JPanel, which will eventually be placed in a JFrame
public class MyPanel extends JPanel { 
    // custom painting is performed by the paintComponent method
    @Override
    public void paintComponent(Graphics g){
        // clear the previous painting
        super.paintComponent(g);
        // cast Graphics to Graphics2D
        Graphics2D g2 = (Graphics2D) g;
        g2.setColor(Color.red); // sets Graphics2D color
        // draw the rectangle
        g2.drawRect(0,0,100,100); // drawRect(x-position, y-position, width, height)
        g2.setColor(Color.blue);
        g2.fillRect(200,0,100,100); // fill new rectangle with color blue
    } 
}

Segunda clase: prueba

import javax.swing.;
import java.awt.;    
public class Test { //the Class by which we display our rectangle    
    JFrame f;    
    MyPanel p;    
    public Test(){    
        f = new JFrame();    
        // get the content area of Panel.    
        Container c = f.getContentPane();    
        // set the LayoutManager
        c.setLayout(new BorderLayout());        
        p = new MyPanel();    
        // add MyPanel object into container    
        c.add(p); 
        // set the size of the JFrame
        f.setSize(400,400);    
        // make the JFrame visible
        f.setVisible(true);    
        // sets close behavior; EXIT_ON_CLOSE invokes System.exit(0) on closing the JFrame
        f.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);    
    }       
    
    public static void main(String args[ ]){    
        Test t = new Test();     
    } 
}

Para obtener más información sobre el diseño de los bordes: https://docs.oracle.com/javase/tutorial/uiswing/layout/border.html

paintComponent ()

  • Es un método principal para pintar.
  • Por defecto, primero pinta el fondo.
  • Después de eso, realiza pintura personalizada (dibujo de círculo, rectángulos, etc.)

Graphic2D se refiere a la clase Graphic2D

Nota: la API Java 2D le permite realizar fácilmente las siguientes tareas:

  • Dibuja líneas, rectángulos y cualquier otra forma geométrica.
  • Rellena esas formas con colores sólidos o degradados y texturas.
  • Dibuje texto con opciones para un control preciso sobre la fuente y el proceso de renderizado.
  • Dibujar imágenes, opcionalmente aplicando operaciones de filtrado.
  • Aplique operaciones como la composición y la transformación durante cualquiera de las operaciones de representación anteriores.

Ejemplo 2: Dibujo y relleno oval

import javax.swing.*;    
import java.awt.*;    

public class MyPanel extends JPanel {
    @Override
    public void paintComponent(Graphics g){    
        // clear the previous painting
        super.paintComponent(g);    
        Graphics2D g2 = (Graphics2D)g;    
        g2.setColor(Color.blue);    
        g2.drawOval(0, 0, 20,20);  
        g2.fillOval(50,50,20,20);    
    }
}

g2.drawOval (int x, int y, int height, int ancho);
Este método dibujará un óvalo en las posiciones x e y especificadas con la altura y el ancho dados.

g2.fillOval (int x, int y, int height, int ancho); Este método llenará un óvalo en las posiciones x e y especificadas con la altura y el ancho dados.



Modified text is an extract of the original Stack Overflow Documentation
Licenciado bajo CC BY-SA 3.0
No afiliado a Stack Overflow