Rysuj kształty w Javie

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

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.

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 linię w Javie

Narysuj elipsę za pomocą Java

Poniżej przedstawiono kroki, aby narysować elipsę w Javie.

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 elipsę w Javie

Narysuj łuk za pomocą Java

Poniżej przedstawiono kroki, aby narysować łuk w Javie.

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 łuk w Javie

Narysuj prostokąt za pomocą Java

Poniżej przedstawiono kroki, aby narysować prostokąt w Javie.

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.

narysuj prostokąt w Javie

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.

Zobacz też