Jak rysować piksele w Javie

Klasa Graphics2D Java zapewnia metody rysowania prostych kształtów, takich jak linie, prostokąty i elipsy. Brakuje w nim metody rysowania pikseli. Możesz pokolorować pojedynczy piksel na rysunku Java, rysując linię o tym samym punkcie początkowym i końcowym. Zanim będziesz mógł narysować piksele, musisz utworzyć JFrame lub inny widoczny składnik i dodać komponent niestandardowy z nadpisaną metodą malowania.

1.

Utwórz nowy projekt w swoim środowisku programistycznym. Dodaj nową klasę do swojego projektu i nazwij ją "Komponentem rysunkowym". Wpisz następujące wiersze kodu u góry nowej klasy, aby zaimportować wymagane klasy:

import java.awt.Component; import java.awt.Color; import java.awt.Graphics; import java.awt.Graphics2D; import java.util.Random;

2.

Wpisz "extends Component" natychmiast po "class DrawingComponent", ale przed nawiasem otwierającym w deklaracji nowej klasy. Dodaj następujący kod w nawiasach klas, aby nadpisać metodę klasy klasy składników i zainicjować nowy obiekt Graphics2D:

public void paint (Grafika g) {Grafika2D g2d = (Graphics2D) g;

}

3.

Ustaw kolor pierwszego piksela, który chcesz narysować, wprowadzając następujący kod w nawiasach nowej metody malowania:

g.setColor (Color.CYAN);

Użyj dowolnego koloru, który jest dostępny jako stała w klasie kolorów Java.

4.

Określ współrzędne punktu, a następnie narysuj linię, która zaczyna się i kończy na tych współrzędnych:

int x = 25; int y = 32; g.drawLine (x, y, x, y);

5.

Utwórz nową ramkę JFrame i dodaj do niej swój DrawingComponent za pomocą tego kodu w głównej metodzie projektu:

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 ());

Wskazówki

  • Osadź kod z kroków 3 i 4 w zestawie zagnieżdżonych pętli, aby utworzyć wzorce. Na przykład poniższy kod utworzy wzory pionowych linii czarnych i niebieskich:
  • for (int i = 0; i <300; i ++) {
  • for (int j = 0; j <300; j ++) {
  • if (i% 2 == 0) {
  • g.setColor (Color.BLACK);
  • }jeszcze{
  • g.setColor (Color.CYAN);
  • }
  • g.drawLine (i, j, i, j);
  • }
  • }

Popularne Wiadomości