Programowanie graficzne w Javie

Dzisiaj poznamy podstawy programowania graficznego w Javie. Zagłębimy się w podstawy rysowania podstawowych kształtów, manipulowania kolorami i pracy z piórami. Niezależnie od tego, czy tworzysz grafikę w ramach bieżącego projektu, czy jako podstawę własnej gry lub aplikacji, przyjrzyjmy się, jak z łatwością programowo tworzyć piękne efekty wizualne.

W tym artykule poruszono następujące tematy:

  1. Biblioteka graficzna Java
  2. Programowanie grafiki w Javie
  3. Rysuj krzywe
  4. Wielokąty i prostokąty
  5. Jak rysować linie
  6. Rysuj ścieżki
  7. Narysuj obszar wypełnienia

Biblioteka graficzna Java — bezpłatne pobieranie

Aspose.Drawing to jedna z najczęściej używanych bibliotek grafiki wektorowej do programowania 2D. Do programowania grafiki w Javie będziemy używać API Aspose.Drawing for Java. Programiści mogą wykorzystywać tę wieloplatformową bibliotekę do rysowania tekstu, kształtów i obrazów w swoich aplikacjach 2D. Umożliwia ładowanie, zapisywanie i manipulowanie obsługiwanymi formatami plików.

Proszę pobierz plik JAR interfejsu API lub dodaj następującą konfigurację pom.xml w aplikacji Java opartej na Maven.

<repositories>
    <repository>
        <id>AsposeJavaAPI</id>
        <name>Aspose Java API</name>
        <url>https://repository.aspose.com/repo/</url>
    </repository>
</repositories>
<dependencies>
    <dependency>
        <groupId>com.aspose</groupId>
        <artifactId>aspose-drawing</artifactId>
        <version>24.1</version>
    </dependency>
</dependencies>

Programowanie graficzne w Javie

W Javie możemy łatwo rysować różnego rodzaju kształty, takie jak krzywe, linie, prostokąty, wypełnione obszary, elipsy i wielokąty. Interfejs API udostępnia różne metody rysowania tych kształtów. Możemy programowo utworzyć wiele różnych grafik wektorowych, wykonując poniższe kroki:

  1. Utwórz obiekt klasy Bitmap.
  2. Zainicjuj obiekt klasy Graphics z mapy bitowej.
  3. Zdefiniuj obiekt klasy Pen lub SolidBrush z żądanymi parametrami.
  4. Użyj metod specyficznych dla kształtu klasy Graphics, aby narysować żądane kształty.
  5. Na koniec zapisz obraz.

Zobaczmy teraz, jak wykonać te kroki w Javie.

Rysuj krzywe w Javie

Możemy rysować łuki, okręgi, elipsy lub zamknięte krzywe, korzystając z następujących metod:

  • DrawArc() do rysowania łuku.
  • DrawEllipse() do rysowania elipsy.
  • DrawClosedCurve() do rysowania zamkniętej krzywej.
  • DrawCurve() do rysowania krzywej.

Aby narysować zakrzywione kształty, postępuj zgodnie z instrukcjami podanymi poniżej:

  1. Utwórz instancję klasy Bitmap.
  2. Utwórz obiekt klasy Graphics za pomocą metody fromImage() z nowo utworzonego obiektu Bitmap.
  3. Zdefiniuj obiekt klasy Pen o określonym kolorze i rozmiarze.
  4. Następnie wywołaj metodę remisClosedCurve(), aby narysować zamkniętą krzywą.
  5. Opcjonalnie powtórz powyższe kroki, aby dodać łuk i elipsę.
  6. Na koniec zapisz obraz wyjściowy za pomocą metody save().

Poniższy przykładowy kod pokazuje, jak rysować zakrzywione kształty w Javie.

// Ten przykład kodu demonstruje, jak narysować zamkniętą krzywą, łuk i okrąg.
// Utwórz bitmapę
Bitmap bitmap = new Bitmap(1000, 800);

// Zainicjuj grafikę z mapy bitowej
Graphics graphics = Graphics.fromImage(bitmap);

// Zdefiniuj pióro do rysowania
Pen penBlue = new Pen(Color.getBlue(), 4);

// Narysuj krzywą
graphics.drawClosedCurve(penBlue, new Point[] { new Point(10, 700), new Point(250, 500), new Point(500, 10), new Point(750, 500), new Point(990, 700) });

// Narysuj łuk
Pen penRed = new Pen(Color.getRed(), 2);
graphics.drawArc(penRed, 0, 0, 700, 700, 0, 180);

// Narysuj elipsę
Pen penGreen = new Pen(Color.getGreen(), 2);
graphics.drawEllipse(penGreen, 10, 10, 500, 500);

// Zapisz bitmapę jako PNG
bitmap.save("D:\\Files\\Curves.png");
Krzywe w programowaniu graficznym przy użyciu języka Java

Krzywe w programowaniu graficznym przy użyciu języka Java

Rysuj wielokąty i prostokąty w Javie

Możemy rysować wielokąty i prostokąty, wykonując kroki wspomniane wcześniej. Musimy jednak zastosować następujące metody w kroku 4:

  • metoda DrawPolygon() służąca do rysowania wielokąta.
  • DrawRectangle() do rysowania prostokąta.

Poniższy przykładowy kod pokazuje, jak rysować wielokąty i prostokąty w Javie.

// Ten przykład kodu demonstruje, jak narysować wielokąt i prostokąt.
// Utwórz bitmapę
Bitmap bitmap = new Bitmap(1000, 800);

// Zainicjuj grafikę z mapy bitowej
Graphics graphics = Graphics.fromImage(bitmap);

// Zdefiniuj pióro do rysowania
Pen penBlue = new Pen(Color.getBlue(), 4);

// Narysuj wielokąt
graphics.drawPolygon(penBlue, new Point[] { new Point(100, 100), new Point(500, 700), new Point(900, 100) });

// Narysuj prostokąt
Pen penRed = new Pen(Color.getRed(), 2);
graphics.drawRectangle(penRed, 10, 10, 900, 700);

// Zapisz bitmapę jako PNG
bitmap.save("D:\\Files\\Shapes.png");
Załaduj obraz w mapie bitowej za pomocą Java

Załaduj obraz w mapie bitowej przy użyciu języka Java

Rysuj linie w Javie

Podobnie możemy rysować linie, wykonując kroki wspomniane wcześniej. Musimy jednak użyć metody DrawLine() w kroku 4, aby narysować linię.

Poniższy przykładowy kod pokazuje, jak rysować linie w Javie.

// Ten przykład kodu demonstruje, jak narysować linię.
// Utwórz bitmapę
Bitmap bitmap = new Bitmap(1000, 800);

// Zainicjuj grafikę z mapy bitowej
Graphics graphics = Graphics.fromImage(bitmap);

// Zdefiniuj pióro do rysowania
Pen pen = new Pen(Color.getBlue(), 4);

// Rysować linie
graphics.drawLine(pen, 10, 700, 500, 10);
graphics.drawLine(pen, 500, 10, 990, 700);

// Zapisz bitmapę jako PNG
bitmap.save("D:\\Files\\Lines.png");
Linie w programowaniu graficznym przy użyciu języka Java

Linie w programowaniu graficznym przy użyciu języka Java

Rysuj ścieżki w Javie

Ścieżki w grafice wektorowej reprezentują serię gładkich linii prostych zdefiniowanych przez punkt początkowy i końcowy oraz inne punkty. Możemy narysować ścieżkę, wykonując poniższe czynności:

  1. Utwórz instancję klasy Bitmap.
  2. Zainicjuj obiekt klasy Graphics z nowo utworzonego obiektu Bitmap za pomocą metody fromImage().
  3. Zdefiniuj obiekt klasy Pen o określonym kolorze i rozmiarze.
  4. Utwórz instancję klasy GraphicsPath.
  5. Dodaj linie za pomocą metody addLine().
  6. Następnie wywołaj metodę remisPath() z obiektami Pen i GraphicsPath.
  7. Na koniec zapisz obraz wyjściowy za pomocą metody save().

Poniższy przykładowy kod pokazuje, jak narysować ścieżkę w Javie.

// Ten przykład kodu demonstruje, jak narysować ścieżkę.
// Utwórz bitmapę
Bitmap bitmap = new Bitmap(1000, 800);

// Zainicjuj grafikę z mapy bitowej
Graphics graphics = Graphics.fromImage(bitmap);

// Zdefiniuj pióro do rysowania
Pen pen = new Pen(Color.getBlue(), 4);

// Zainicjuj ścieżkę graficzną
GraphicsPath path = new GraphicsPath();

// Dodaj linię 1
path.addLine(100, 100, 1000, 400);

// Dodaj linię 2
path.addLine(1000, 600, 300, 600);

// Dodaj prostokąt
path.addRectangle(new Rectangle(500, 350, 200, 400));

// Dodaj elipsę
path.addEllipse(10, 250, 450, 300);

// Narysuj ścieżkę
graphics.drawPath(pen, path);

// Zapisz bitmapę jako PNG
bitmap.save("D:\\Files\\Shapes.png");
Ścieżki w programowaniu graficznym przy użyciu języka Java

Ścieżki w programowaniu graficznym przy użyciu języka Java

Narysuj region wypełnienia w Javie

Możemy narysować obszar wypełnienia, wykonując poniższe czynności:

  1. Utwórz instancję klasy Bitmap.
  2. Zainicjuj obiekt klasy Graphics z nowo utworzonego obiektu Bitmap za pomocą metody fromImage().
  3. Utwórz instancję klasy GraphicsPath.
  4. Dodaj wielokąt za pomocą metody addPolygon().
  5. Utwórz instancję klasy Region.
  6. Dodaj kolejny obiekt GraphicsPath i dodaj prostokąt za pomocą metody addRectangle().
  7. Wywołaj metodę wykluczenia(), aby wykluczyć ścieżkę wewnętrzną z regionu.
  8. Następnie zdefiniuj obiekt klasy SolidBrush o określonym kolorze.
  9. Następnie wywołaj metodę fillRegion() z obiektami SolidBrush i GraphicsPath.
  10. Na koniec zapisz obraz wyjściowy za pomocą metody save().

Poniższy przykładowy kod pokazuje, jak narysować wypełniony region w Javie.

// Ten przykład kodu demonstruje, jak narysować Region.
// Utwórz bitmapę
Bitmap bitmap = new Bitmap(1000, 800);

// Zainicjuj grafikę z mapy bitowej
Graphics graphics = Graphics.fromImage(bitmap);

// Dodaj wielokąt
GraphicsPath path = new GraphicsPath();
path.addPolygon(new Point[] { new Point(100, 400), new Point(500, 100), new Point(900, 400), new Point(500, 700) });

// Zainicjuj region
Region region = new Region(path);

// Wewnętrzna ścieżka graficzna
GraphicsPath innerPath = new GraphicsPath();

// Dodaj prostokąt
innerPath.addRectangle(new Rectangle(300, 300, 400, 200));

// Wyklucz ścieżkę wewnętrzną
region.exclude(innerPath);

// Zdefiniuj solidny pędzel
Brush brush = new SolidBrush(Color.getBlue());

// Wypełnij region
graphics.fillRegion(brush, region);

// Zapisz bitmapę jako PNG
bitmap.save("D:\\Files\\FillRegion.png");
Wypełnij region w programowaniu graficznym przy użyciu języka Java

Wypełnij region w programowaniu graficznym przy użyciu języka Java

Zdobądź bezpłatną licencję

Możesz uzyskać bezpłatną licencję tymczasową, aby wypróbować Aspose.Drawing for Java bez ograniczeń ewaluacyjnych.

Programowanie graficzne w Javie – bezpłatne zasoby

Oprócz rysowania linii, ścieżek i prostokątów możesz eksplorować różne inne funkcje biblioteki, korzystając z poniższych zasobów:

Wniosek

W tym artykule poznaliśmy podstawy programowania grafiki w Javie przy użyciu Aspose.Drawing for Java. Widzieliśmy, jak programowo rysować prostokąty, elipsy, linie i ścieżki w Javie. Dowiedzieliśmy się także, jak utworzyć i zapisać obraz bitmapowy jako obraz PNG. Wykonując kroki opisane w tym artykule i podane przykłady kodu, możesz tworzyć wspaniałe grafiki wektorowe w aplikacjach Java. W przypadku jakichkolwiek niejasności prosimy o kontakt na naszym bezpłatnym forum pomocy technicznej.

Zobacz też