W poprzednich postach na blogu pokazaliśmy, jak zaimplementować różne funkcje edycji obrazu, takie jak zmiana rozmiaru, przerzucanie i obracanie obrazów. Wraz z tymi funkcjami przycinanie obrazu jest niezwykle wykorzystywane do przycinania niechcianych obszarów na obrazach. Ponadto przycinasz obraz, aby ustawić ostrość na określonym obiekcie w ramce. W tym artykule dowiesz się, jak programowo kadrować obrazy w Javie. Pokażemy, jak przyciąć obraz za pomocą wartości przesunięcia lub prostokąta.
- Java API do przycinania obrazów — do pobrania za darmo
- Przycinaj obrazy w Javie
- Przytnij obrazy z wartościami Shift
- Przycinanie obrazu za pomocą prostokąta
Java API do przycinania obrazów — do pobrania za darmo
Aspose.Imaging for Java to niesamowity interfejs API do edycji obrazów, który zapewnia szeroki zakres funkcji do manipulowania obrazami. Ponadto obsługuje różne formaty obrazów rastrowych i wektorowych. Użyjemy tego interfejsu API do przycięcia obrazów z poziomu naszej aplikacji Java. 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>
Przycinaj obrazy w Javie
Istnieją dwa sposoby kadrowania obrazu rastrowego: przesunięcie wartości i prostokąt. W pierwszej metodzie musimy podać wartości przesunięcia w lewo, w prawo, górę i dół, aby wykadrować obraz. Natomiast w drugiej metodzie definiujemy prostokąt, aby przyciąć określony obszar obrazu.
Rzućmy okiem na każdą z wyżej wymienionych metod przycinania obrazów w Javie.
Przytnij obrazy z wartościami Shift w Javie
Poniżej przedstawiono kroki przycinania obrazu przy użyciu wartości przesunięcia w Javie.
- Najpierw załaduj obraz do obiektu RasterImage za pomocą metody Image.load().
- Zapisz obraz w pamięci podręcznej, jeśli nie jest.
- Zdefiniuj wartości przesunięcia w lewo, w prawo, górę i dół.
- Przytnij obraz metodą RasterImage.crop().
- Zapisz wykadrowany obraz metodą RasterImage.save().
Poniższy przykładowy kod pokazuje, jak przyciąć obraz w Javie.
// Załaduj obraz.
try (RasterImage rasterImage = (RasterImage) Image.load("image.jpg")) {
// Przed kadrowaniem obraz należy zapisać w pamięci podręcznej, aby uzyskać lepszą wydajność.
if (!rasterImage.isCached()) {
rasterImage.cacheData();
}
// Zdefiniuj wartości przesunięcia dla wszystkich czterech stron.
int leftShift = 10;
int rightShift = 10;
int topShift = 10;
int bottomShift = 10;
// Na podstawie wartości przesunięcia zastosuj kadrowanie obrazu. Metoda przycinania zostanie zmieniona
// obraz zbliża się do środka obrazu i zapisuje wyniki na dysku.
rasterImage.crop(leftShift, rightShift, topShift, bottomShift);
// Zapisz przycięty obraz.
rasterImage.save("cropped.jpg");
}
Poniżej znajduje się obraz wejściowy, którego użyliśmy do przycięcia.
Poniżej znajduje się wynikowy przycięty obraz.
Kadrowanie obrazu Java za pomocą prostokąta
Możesz także zdefiniować prostokąt, aby przyciąć żądany obszar obrazu. Poniższe kroki demonstrują kadrowanie obrazu przy użyciu prostokąta w Javie.
- Najpierw załaduj obraz do obiektu RasterImage za pomocą metody Image.load().
- Zapisz obraz w pamięci podręcznej, jeśli nie jest.
- Utwórz obiekt Rectangle i zainicjuj go żądanym rozmiarem.
- Przytnij obraz metodą RasterImage.crop().
- Zapisz wykadrowany obraz metodą RasterImage.save().
Poniższy przykładowy kod pokazuje, jak wykonać przycinanie obrazu za pomocą prostokąta w Javie.
// Załaduj obraz.
try (RasterImage rasterImage = (RasterImage) Image.load("image.jpg")) {
// Przed kadrowaniem obraz należy zapisać w pamięci podręcznej, aby uzyskać lepszą wydajność.
if (!rasterImage.isCached()) {
rasterImage.cacheData();
}
// Utwórz instancję klasy Rectangle o żądanym rozmiarze.
Rectangle rectangle = new Rectangle(20, 20, 20, 20);
// Przytnij zdjęcie.
rasterImage.crop(rectangle);
// Zapisz przycięty obraz.
rasterImage.save("cropped.jpg");
}
Imaging Cropping API for Java — Uzyskaj bezpłatną licencję
Możesz uzyskać bezpłatną tymczasową licencję i przycinać obrazy bez ograniczeń ewaluacyjnych.
Wniosek
W tym artykule nauczyłeś się przycinać obrazy w Javie. Pokazaliśmy kilka sposobów przycinania obrazu przy użyciu wartości przesunięcia lub prostokąta. Ponadto możesz dowiedzieć się więcej o interfejsie API przetwarzania obrazu Java, korzystając z dokumentacji. Możesz także podzielić się z nami swoimi pytaniami za pośrednictwem naszego forum.