Zmień rozmiar obrazu za pomocą narzędzia do zmiany rozmiaru obrazu Java

Edytory obrazów zapewniają funkcję zmiany rozmiaru, która pozwala zmieniać rozmiar obrazów zgodnie z wymaganiami. Podczas projektowania edytora obrazów lub przetwarzania obrazów z poziomu aplikacji Java może zaistnieć potrzeba programowej zmiany rozmiaru obrazów. Aby to osiągnąć, w tym artykule omówiono sposób zmiany rozmiaru obrazów w Javie. Co więcej, dowiesz się również, jak zmieniać rozmiar obrazów przy użyciu różnych technik zmiany rozmiaru.

Java API do zmiany rozmiaru obrazów — do pobrania za darmo

Aspose.Imaging for Java to szeroko stosowany interfejs API do przetwarzania obrazów, który pozwala dość łatwo manipulować obrazami. Użyjemy tego interfejsu API do zmiany rozmiaru obrazów w tym artykule. Interfejs API można pobrać z sekcji pobierania. Możesz także zainstalować go z Maven, używając następującej konfiguracji w pom.xml.

<repository>
    <id>AsposeJavaAPI</id>
    <name>Aspose Java API</name>
    <url>http://repository.aspose.com/repo/</url>
</repository>
<dependency>
    <groupId>com.aspose</groupId>
    <artifactId>aspose-imaging-java</artifactId>
    <version>21.12</version>
    <classifier>jdk16</classifier>
</dependency>

Zmień rozmiar obrazów rastrowych w Javie

Aspose.Imaging for Java zapewnia dwa sposoby zmiany rozmiaru obrazów rastrowych. Jednym z nich jest prosta zmiana rozmiaru, w której podajesz wysokość i szerokość wynikowego obrazu. Podczas gdy w drugiej metodzie określa się również typ zmiany rozmiaru, który informuje interfejs API o technice zmiany rozmiaru, której należy użyć, takiej jak Lanczos Resampling, Nearest Neighbor Resampling itp. W kolejnych sekcjach omówimy, jak zaimplementować każdy z nich te metody zmiany rozmiaru obrazów.

Prosta zmiana rozmiaru obrazów w Javie

W tej metodzie zmiany rozmiaru wystarczy podać wymiary wynikowego obrazu. Poniżej przedstawiono kroki zmiany rozmiaru obrazu w Javie.

  • Najpierw użyj klasy Image, aby załadować obraz, którego rozmiar chcesz zmienić.
  • Następnie wywołaj metodę Image.resize(int, int), aby zmienić rozmiar obrazu.
  • Na koniec zapisz wynikowy obraz za pomocą metody Image.save(string).

Poniższy fragment kodu zmienia rozmiar obrazu do podanej wysokości i szerokości.

// Załaduj obraz
Image image = Image.load("aspose-logo.jpg");

// Zdefiniuj nowe wymiary
image.resize(300, 300);

// Zapisać obraz
image.save("SimpleResizing_out.jpg");

Java Zmień rozmiar obrazu o określonym typie

Aspose.Imaging for Java zapewnia szeroki zakres technik zmiany rozmiaru, które są wymienione tutaj. Możesz wybrać taki, który pasuje do Twojego scenariusza. Na przykład Lanczos Resampling jest zalecany do zmiany rozmiaru obrazu wysokiej jakości, jednak działa wolniej. Podczas gdy do szybkiej zmiany rozmiaru używany jest Nearest Neighbor Resampling, obniża to jednak jakość obrazu. Poniżej przedstawiono kroki zmiany rozmiaru obrazu przy użyciu określonej techniki zmiany rozmiaru.

Poniższy przykład kodu pokazuje, jak zmienić rozmiar obrazu przy użyciu określonej techniki zmiany rozmiaru.

// Załaduj obraz
Image image = Image.load("aspose-logo.jpg");

// Zdefiniuj nowe wymiary i typ zmiany rozmiaru
image.resize(300, 300, ResizeType.LanczosResample);

// Zapisać obraz
image.save("SimpleResizing_out.jpg");

Proporcjonalna zmiana rozmiaru obrazu w Javie

Współczynnik proporcji jest obliczany podczas zmiany rozmiaru obrazów, aby uniknąć skurczenia lub przeskalowania wynikowych obrazów. Jednak każdy błąd w obliczeniu współczynnika proporcji może spowodować rozciągnięcie obrazu. Aby pozbyć się takich problemów, możesz pozwolić interfejsowi API zająć się samym współczynnikiem proporcji. Poniżej przedstawiono kroki, aby zmienić rozmiar obrazu proporcjonalnie.

Możesz także określić konkretny typ zmiany rozmiaru podczas proporcjonalnej zmiany rozmiaru obrazu, używając metod przeciążenia Image.resizeWidthProportionally(int, ResizeType) i Image.resizeHeightProportionally(int, ResizeType).

Poniższy przykładowy kod Java pokazuje, jak proporcjonalnie zmienić rozmiar obrazu.

// Załaduj obraz
Image image = Image.load("aspose-logo.jpg");

// Zdefiniuj nowe wymiary
int newWidth = image.getWidth() / 2;
image.resizeWidthProportionally(newWidth);
int newHeight = image.getHeight() / 2;
image.resizeHeightProportionally(newHeight);

// Zapisać obraz
image.save("SimpleResizing_out.jpg");

Zmiana rozmiaru obrazów wektorowych w Javie

Możesz także zmienić rozmiar obrazu wektorowego i zapisać go w formacie obrazu rastrowego, takim jak PNG, JPEG, GIF itp. Poniższy kod demonstruje, jak to osiągnąć w Javie przy użyciu Aspose.Imaging.

// Załaduj obraz wektorowy
try (Image image = Image.load("image.svg"))
{
  	// Zdefiniuj nowe wymiary
	image.resize(image.getWidth() * 10,image.getHeight() * 15);
  
  	// Zapisz obraz jako PNG
	image.save("Logotype_10_15.png", new PngOptions());
}

Interfejs API zmiany rozmiaru obrazu Java — uzyskaj bezpłatną licencję

Możesz używać Aspose.Imaging for Java i zmieniać rozmiar obrazów bez ograniczeń ewaluacyjnych, uzyskując darmową licencję tymczasową.

Wniosek

W tym artykule nauczyłeś się zmieniać rozmiar obrazów w Javie. Ponadto w artykule omówiono sposób zmiany rozmiaru obrazów przy użyciu różnych technik, takich jak ponowne próbkowanie Lanczosa, ponowne próbkowanie najbliższego sąsiada itp. Ponadto omówiono również proporcjonalną zmianę rozmiaru obrazu i zmianę rozmiaru obrazów wektorowych w Javie. Możesz odwiedzić dokumentację, aby dowiedzieć się więcej o interfejsie API przetwarzania obrazu Java. Możesz także uczyć się z próbek kodu źródłowego dostępnych na GitHub. W przypadku jakichkolwiek pytań możesz skontaktować się z nami na naszym forum.

Zobacz też