Como desenhar pixels em Java
A classe Graphics2D do Java fornece métodos para desenhar formas primitivas, como linhas, retângulos e elipses. Falta um método para desenhar pixels. Você pode colorir um único pixel em um desenho Java desenhando uma linha com o mesmo ponto inicial e ponto final. Antes de poder desenhar pixels, você deve criar um JFrame ou outro componente visível e adicionar um componente personalizado com um método de pintura substituído.
1
Crie um novo projeto em seu ambiente de desenvolvimento. Adicione uma nova classe ao seu projeto e chame-a de "Componente de desenho". Digite as seguintes linhas de código na parte superior da nova classe para importar as classes necessárias:
import java.awt.Component; import java.awt.Color; import java.awt.Graphics; import java.awt.Graphics2D; import java.util.Random;
2
Digite "extends Component" imediatamente após "class DrawingComponent", mas antes do colchete de abertura em sua nova declaração de classe. Adicione o seguinte código dentro dos colchetes de classe para substituir o método paint da classe Component e inicializar um novo objeto Graphics2D:
tinta pública vazia (Gráficos g) {Graphics2D g2d = (Graphics2D) g;
}
3
Defina a cor do primeiro pixel que você deseja desenhar inserindo o seguinte código dentro dos colchetes do novo método de pintura:
g.setColor (Color.CYAN);
Use qualquer cor disponível como constante na classe Color do Java.
4
Defina as coordenadas do seu ponto e desenhe uma linha que comece e termine com essas coordenadas:
int x = 25; int y = 32; g.drawLine (x, y, x, y);
5
Crie um novo JFrame e adicione seu DrawingComponent a ele com este código no método principal do seu projeto:
int frameWidth = 300; int frameHeight = 300; javax.swing.JFrame frame = new javax.swing.JFrame (); frame.setSize (frameWidth, frameHeight); frame.setVisible (true); frame.getContentPane (). add (new DrawingComponent ());
Dicas
- Incorpore o código das etapas 3 e 4 em um conjunto de loops aninhados para criar padrões. Por exemplo, o código a seguir criará padrões de linhas verticais em preto e ciano:
- para (int i = 0; i <300; i ++) {
- para (int j = 0; j <300; j ++) {
- if (i% 2 == 0) {
- g.setColor (Color.BLACK);
- }outro{
- g.setColor (Color.CYAN);
- }
- g.drawLine (i, j, i, j);
- }
- }