![Przycinaj obrazy w Javie](images/Crop-Image.png#center)
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.
![przyciąć obraz w Javie](images/image.png#center)
Poniżej znajduje się wynikowy przycięty obraz.
![kadrowanie obrazu w Javie](images/cropped.png#center)
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.