
Adnotacje na obrazach podkreślają kluczowe szczegóły, co sprawia, że wizualizacje są bardziej informacyjne i angażujące. Niezależnie od tego, czy oznaczasz część diagramu, czy podkreślasz ważne sekcje grafiki, dodanie adnotacji może zwiększyć przejrzystość. Dzięki temu możesz łatwo zwrócić uwagę na konkretne punkty obrazu. W tym artykule dowiesz się, jak dodać adnotacje obrazkowe w Javie. Programowe dodawanie adnotacji staje się potężnym narzędziem do poprawy przejrzystości obrazu i automatyzacji.
Ten artykuł obejmuje następujące tematy:
Java API do dodawania adnotacji obrazkowych
Aspose.Drawing for Java to potężna biblioteka do programowego dodawania adnotacji obrazkowych. Umożliwia łatwe tworzenie i edycję grafiki. Aspose.Drawing for Java pozwala rysować kształty, linie i tekst bezpośrednio na obrazach. Przyjrzyjmy się, jak korzystać z tej biblioteki, aby efektywnie dodawać adnotacje obrazkowe w swoich aplikacjach Java.
Proszę pobrać plik JAR API lub dodać następującą konfigurację pom.xml do aplikacji opartej na Mavenie.
<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.4</version>
</dependency>
</dependencies>
Dodawanie adnotacji do obrazów w Javie
Proszę postępować zgodnie z tymi prostymi krokami, aby programowo dodać adnotacje do obrazów:
- Załaduj obraz za pomocą metody Image.fromFile().
- Utwórz obiekt Graphics za pomocą metody fromImage().
- Zainicjuj obiekt klasy Pen z wybranym kolorem i rozmiarem do rysowania adnotacji.
- Zdefiniuj pozycję dla elementu adnotacji z określonym kolorem i rozmiarem.
- Użyj metody drawString() do wpisania tekstu.
- Zapisz obraz wyjściowy za pomocą metody save().
Przykład kodu poniżej pokazuje jak dodać adnotacje do obrazu w Javie.
import com.aspose.drawing.Color; | |
import com.aspose.drawing.Font; | |
import com.aspose.drawing.FontStyle; | |
import com.aspose.drawing.Graphics; | |
import com.aspose.drawing.GraphicsUnit; | |
import com.aspose.drawing.Image; | |
import com.aspose.drawing.Pen; | |
import com.aspose.drawing.PointF; | |
import com.aspose.drawing.RectangleF; | |
import com.aspose.drawing.SizeF; | |
import com.aspose.drawing.SolidBrush; | |
import com.aspose.drawing.text.TextRenderingHint; |
public static void main(String[] args) { | |
// Load an image | |
Image image = Image.fromFile("gears.png"); | |
Graphics graphics = Graphics.fromImage(image); | |
graphics.setTextRenderingHint(TextRenderingHint.AntiAliasGridFit); | |
graphics.setPageUnit(GraphicsUnit.Pixel); | |
drawCallOut(graphics, new PointF(107, 55), new PointF(179, 5), 74, "mm"); | |
drawCallOut(graphics, new PointF(111, 146), new PointF(29, 180), 28, "mm"); | |
image.save("gears_callout.jpg"); | |
} | |
private static void drawCallOut(Graphics graphic, PointF startAnchor, PointF endAnchor, int value, String unit) | |
{ | |
Pen pen = new Pen(Color.getRed(), 1); | |
Font font = new Font("Arial", 10, FontStyle.Bold); | |
String outputValue = value + " " + unit; | |
SizeF textSize = graphic.measureString(outputValue, font); | |
int diameterSymbolSize = 12; | |
int spaceSize = 3; | |
textSize.setWidth(textSize.getWidth() + diameterSymbolSize + spaceSize); | |
float callOutMiddleX = endAnchor.getX() > startAnchor.getX() ? endAnchor.getX() - textSize.getWidth() : endAnchor.getX() + textSize.getWidth(); | |
float callOutMiddleY = endAnchor.getY() > startAnchor.getY() ? endAnchor.getY() - textSize.getHeight() : endAnchor.getY() + textSize.getHeight(); | |
graphic.drawLine(pen, startAnchor.getX(), startAnchor.getY(), callOutMiddleX, callOutMiddleY); | |
float textAnchorX = Math.min(callOutMiddleX, endAnchor.getX()); | |
float textAnchorY = callOutMiddleY; | |
graphic.drawLine(pen, callOutMiddleX, callOutMiddleY, | |
textAnchorX == callOutMiddleX ? textAnchorX + textSize.getWidth() : textAnchorX, | |
callOutMiddleY); | |
graphic.drawEllipse(pen, new RectangleF((int)textAnchorX + spaceSize, | |
(int)(textAnchorY - textSize.getHeight()) + spaceSize, 10, 10)); | |
graphic.drawLine(pen, (int)textAnchorX + 1, (int)textAnchorY - 1, | |
(int)textAnchorX + diameterSymbolSize + 2, | |
(int)textAnchorY - diameterSymbolSize - 2); | |
SolidBrush brush = new SolidBrush(Color.getBlue()); | |
graphic.drawString(outputValue, font, brush, (int)textAnchorX + diameterSymbolSize + spaceSize, | |
(int)(textAnchorY - textSize.getHeight())); | |
} |

Dodawanie adnotacji do obrazów w Javie
Adnotacje obrazkowe – bezpłatne zasoby
Odkryj różne funkcje biblioteki, wykraczające poza dodawanie adnotacji do zdjęć i obrazów, korzystając z poniższych zasobów:
Uzyskaj bezpłatną tymczasową licencję, aby doświadczyć pełnej mocy Aspose.Drawing for Java bez ograniczeń. Dzięki temu możesz ocenić funkcje i możliwości biblioteki przed podjęciem decyzji o zakupie.
Wnioski
W tym artykule dowiedzieliśmy się, jak dodać adnotacje obrazkowe w Javie. Dodanie adnotacji obrazkowych ulepsza wizualizacje, podkreślając kluczowe szczegóły. Postępuj zgodnie z przedstawionymi krokami i skorzystaj z dostarczonego przykładu kodu, aby łatwo zwrócić uwagę na kluczowe elementy na swoich obrazach. W razie jakichkolwiek wątpliwości, prosimy o kontakt na naszym bezpłatnym forum wsparcia.