
W niektórych przypadkach może być konieczne utworzenie różnych obiektów poprzez narysowanie kształtów, takich jak koła, linie, prostokąty itp. Może być również konieczne narysowanie tych kształtów na obrazach w celu dodania adnotacji. W tym artykule dowiesz się, jak programowo rysować kształty w Javie. W szczególności nauczysz się rysować linie, elipsy, łuki i prostokąty oraz generować ich obrazy.
- Java API do rysowania kształtów — do pobrania za darmo
- Narysuj linię za pomocą Java
- Narysuj elipsę za pomocą Java
- Rysowanie łuku za pomocą Java
- Narysuj prostokąt za pomocą Java
Java API do rysowania kształtów — do pobrania za darmo
Do rysowania kształtów i generowania obrazów wyjściowych użyjemy Aspose.Imaging for Java. Jest to potężny interfejs API do edycji obrazów, który zapewnia szeroki zakres funkcji do manipulowania obrazami i tworzenia rysunków. Możesz pobrać interfejs API lub zainstalować go przy użyciu następujących konfiguracji Mavena.
<repository>
<id>AsposeJavaAPI</id>
<name>Aspose Java API</name>
<url>https://repository.aspose.com/repo/</url>
</repository>
<dependency>
<groupId>com.aspose</groupId>
<artifactId>aspose-imaging</artifactId>
<version>22.9</version>
</dependency>
Narysuj linię za pomocą Java
Poniżej przedstawiono kroki, aby narysować linię w Javie.
- Najpierw utwórz obiekt klasy BmpOptions i ustaw bity na piksel metodą setBitsPerPixel().
- Następnie przypisz StreamSource za pomocą metody setSource().
- Utwórz nowy obraz i zainicjuj go za pomocą obiektu BmpOptions oraz wysokości i szerokości obrazu.
- Utwórz obiekt klasy Grafika i zainicjuj go obiektem Obraz.
- Wyczyść powierzchnię obrazu, używając metody Graphics.clear().
- Narysuj linię metodą Graphics.drawLine(Pen, int, int, int, int).
- Wygeneruj i zapisz obraz metodą Image.save().
Poniższy przykładowy kod pokazuje, jak narysować linię w Javie.
// Utwórz BmpOptions
com.aspose.imaging.imageoptions.BmpOptions bmpCreateOptions = new com.aspose.imaging.imageoptions.BmpOptions();
bmpCreateOptions.setBitsPerPixel(32);
// Zdefiniuj właściwość source dla instancji BmpOptions
bmpCreateOptions.setSource(new StreamSource());
// Tworzy instancję metody Image i wywołuje metodę create, przekazując metodę
// obiekt bmpCreateOptions
com.aspose.imaging.Image image = com.aspose.imaging.Image.create(bmpCreateOptions, 500, 500);
// Utwórz i zainicjuj instancję klasy Graphics
com.aspose.imaging.Graphics graphic = new com.aspose.imaging.Graphics(image);
// Wyczyść powierzchnię obrazu kolorem Białym
graphic.clear(com.aspose.imaging.Color.getWhite());
// Narysuj linię kropkowaną, określając obiekt Pen o kolorze niebieskim i
// Punkty współrzędnych
graphic.drawLine(new Pen(com.aspose.imaging.Color.getBlue(), 3), 18, 18, 200, 200);
graphic.drawLine(new Pen(com.aspose.imaging.Color.getBlue(), 3), 18, 200, 200, 18);
// Narysuj linię ciągłą, określając obiekt Pen jako Solid
// Pędzel o czerwonym kolorze i dwóch punktowych strukturach
graphic.drawLine(new Pen(new com.aspose.imaging.brushes.SolidBrush(com.aspose.imaging.Color.getRed()), 3),
new com.aspose.imaging.Point(18, 18), new com.aspose.imaging.Point(18, 200));
// Narysuj linię ciągłą, określając obiekt Pen jako Solid
// Pędzel o białym kolorze i dwupunktowej strukturze
graphic.drawLine(new Pen(new com.aspose.imaging.brushes.SolidBrush(com.aspose.imaging.Color.getOrange()), 3),
new com.aspose.imaging.Point(200, 18), new com.aspose.imaging.Point(18, 18));
// Zapisz wszystkie zmiany
image.save("draw_lines.bmp");
Poniżej przedstawiono dane wyjściowe powyższego przykładowego kodu.

Narysuj elipsę za pomocą Java
Poniżej przedstawiono kroki, aby narysować elipsę w Javie.
- Najpierw utwórz obiekt klasy BmpOptions i ustaw bity na piksel metodą setBitsPerPixel().
- Następnie przypisz StreamSource za pomocą metody setSource().
- Utwórz nowy obraz i zainicjuj go za pomocą obiektu BmpOptions oraz wysokości i szerokości obrazu.
- Utwórz obiekt klasy Grafika i zainicjuj go obiektem Obraz.
- Wyczyść powierzchnię obrazu, używając metody Graphics.clear().
- Narysuj elipsę metodą Graphics.drawEllipse(Pen, Rectangle).
- Wygeneruj i zapisz obraz metodą Image.save().
Poniższy przykładowy kod pokazuje, jak narysować elipsę na obrazie w Javie.
// Utwórz BmpOptions
com.aspose.imaging.imageoptions.BmpOptions bmpCreateOptions = new com.aspose.imaging.imageoptions.BmpOptions();
bmpCreateOptions.setBitsPerPixel(32);
// Zdefiniuj właściwość source dla instancji BmpOptions
bmpCreateOptions.setSource(new StreamSource());
// Tworzy instancję metody Image i wywołuje metodę create, przekazując metodę
// obiekt bmpCreateOptions
com.aspose.imaging.Image image = com.aspose.imaging.Image.create(bmpCreateOptions, 400, 400);
// Utwórz i zainicjuj instancję klasy Graphics
com.aspose.imaging.Graphics graphic = new com.aspose.imaging.Graphics(image);
// Wyczyść powierzchnię obrazu kolorem Białym
graphic.clear(com.aspose.imaging.Color.getWhite());
// Narysuj kropkowany kształt elipsy, określając obiekt Pen jako czerwony
// kolor i otaczający go prostokąt
graphic.drawEllipse(new Pen(com.aspose.imaging.Color.getRed(), 3),
new com.aspose.imaging.Rectangle(60, 40, 70, 120));
// Narysuj ciągły kształt elipsy, określając obiekt Pen
// solid brush with blue kolor i otaczający go prostokąt
graphic.drawEllipse(new Pen(new com.aspose.imaging.brushes.SolidBrush(com.aspose.imaging.Color.getBlue()), 3),
new com.aspose.imaging.Rectangle(40, 60, 120, 70));
// Zapisz wszystkie zmiany
image.save("draw_ellipse.bmp");
Poniżej przedstawiono dane wyjściowe powyższego przykładowego kodu.

Narysuj łuk za pomocą Java
Poniżej przedstawiono kroki, aby narysować łuk w Javie.
- Najpierw utwórz obiekt klasy BmpOptions i ustaw bity na piksel metodą setBitsPerPixel().
- Następnie przypisz StreamSource za pomocą metody setSource().
- Utwórz nowy obraz i zainicjuj go za pomocą obiektu BmpOptions oraz wysokości i szerokości obrazu.
- Utwórz obiekt klasy Grafika i zainicjuj go obiektem Obraz.
- Wyczyść powierzchnię obrazu, używając metody Graphics.clear().
- Narysuj łuk za pomocą metody Graphics.drawArc(Pen, float x, float y, float width, float height, float startAngle, float sweepAngle).
- Wygeneruj i zapisz obraz metodą Image.save().
Poniższy przykładowy kod pokazuje, jak narysować łuk na obrazie w Javie.
// Utwórz BmpOptions
com.aspose.imaging.imageoptions.BmpOptions bmpCreateOptions = new com.aspose.imaging.imageoptions.BmpOptions();
bmpCreateOptions.setBitsPerPixel(32);
// Zdefiniuj właściwość source dla instancji BmpOptions
bmpCreateOptions.setSource(new StreamSource());
// Tworzy wystąpienie Image i wywołuje metodę Create, przekazując metodę
// Obiekt BmpOptions
com.aspose.imaging.Image image = com.aspose.imaging.Image.create(bmpCreateOptions, 400, 400);
// Utwórz i zainicjuj instancję klasy Graphics
com.aspose.imaging.Graphics graphic = new com.aspose.imaging.Graphics(image);
// Wyczyść powierzchnię obrazu kolorem Białym
graphic.clear(com.aspose.imaging.Color.getWhite());
// Narysuj kropkowany kształt łuku, określając obiekt Pen jako czerwony i czarny
// kolor i współrzędne, wysokość, szerokość, kąty początkowe i końcowe
int width = 200;
int height = 300;
int startAngle = 45;
int sweepAngle = 270;
// Narysuj łuk do ekranu
graphic.drawArc(new Pen(com.aspose.imaging.Color.getBlack(), 3), 0, 0, width, height, startAngle, sweepAngle);
// Zapisz wszystkie zmiany
image.save("draw_arc.bmp");
Poniżej przedstawiono dane wyjściowe powyższego przykładowego kodu.

Narysuj prostokąt za pomocą Java
Poniżej przedstawiono kroki, aby narysować prostokąt w Javie.
- Najpierw utwórz obiekt klasy BmpOptions i ustaw bity na piksel metodą setBitsPerPixel().
- Następnie przypisz StreamSource za pomocą metody setSource().
- Utwórz nowy obraz i zainicjuj go za pomocą obiektu BmpOptions oraz wysokości i szerokości obrazu.
- Utwórz obiekt klasy Grafika i zainicjuj go obiektem Obraz.
- Wyczyść powierzchnię obrazu, używając metody Graphics.clear().
- Narysuj prostokąt metodą Graphics.drawRectangle(Pen, Rectangle).
- Wygeneruj i zapisz obraz metodą Image.save().
Poniższy przykładowy kod pokazuje, jak narysować prostokąt na obrazie w Javie.
// Utwórz BmpOptions
com.aspose.imaging.imageoptions.BmpOptions bmpCreateOptions = new com.aspose.imaging.imageoptions.BmpOptions();
bmpCreateOptions.setBitsPerPixel(32);
// Zdefiniuj właściwość source dla instancji BmpOptions
bmpCreateOptions.setSource(new StreamSource());
// Tworzy wystąpienie Image i wywołuje metodę Create, przekazując metodę
// obiekt bmpCreateOption
com.aspose.imaging.Image image = com.aspose.imaging.Image.create(bmpCreateOptions, 400, 400);
// Utwórz i zainicjuj instancję klasy Graphics
com.aspose.imaging.Graphics graphic = new com.aspose.imaging.Graphics(image);
// Wyczyść powierzchnię obrazu kolorem Białym
graphic.clear(com.aspose.imaging.Color.getWhite());
// Narysuj kropkowany kształt prostokąta, określając obiekt Pen jako czerwony
// kolor i prostokątna struktura
graphic.drawRectangle(new Pen(com.aspose.imaging.Color.getRed(), 3),
new com.aspose.imaging.Rectangle(60, 40, 70, 120));
// Narysuj ciągły kształt prostokąta, określając obiekt Pen
// solid brush with blue kolor i prostokątna struktura
graphic.drawRectangle(new Pen(new com.aspose.imaging.brushes.SolidBrush(com.aspose.imaging.Color.getBlue()), 3),
new com.aspose.imaging.Rectangle(40, 60, 120, 70));
// Zapisz wszystkie zmiany
image.save("draw_rectangle.bmp");
Poniżej przedstawiono dane wyjściowe powyższego przykładowego kodu.

Java Image Drawing API — uzyskaj bezpłatną licencję
Możesz uzyskać bezpłatną tymczasową licencję i rysować kształty bez ograniczeń ewaluacyjnych.
Wniosek
W tym artykule nauczyłeś się rysować kształty w Javie. Omówiliśmy, jak programowo rysować linie, elipsy, łuki i prostokąty na obrazach. Dostarczone przykłady kodu można łatwo zintegrować ze swoimi aplikacjami Java.
Czytaj więcej
Więcej informacji na temat interfejsu API przetwarzania obrazu Java można znaleźć w dokumentacji. Możesz także podzielić się z nami swoimi pytaniami za pośrednictwem naszego forum.