W tym artykule wyjaśniono jak scalić photos w Javie. Omówiono w nim przygotowanie środowiska, procedurę krokową i możliwy do uruchomienia przykładowy kod umożliwiający utworzenie łącznika zdjęć w Javie. Informacje te są przydatne podczas pracy z tą funkcją w środowiskach Java na różnych platformach.
Kroki, aby scalić zdjęcia w Javie
- Przygotuj środowisko do korzystania z Aspose.Imaging for Java z Menedżerem repozytorium
- Utwórz listę obrazów, aby obliczyć wymiary obrazu wyjściowego
- Połącz obrazy źródłowe w jeden i utwórz źródło wyjściowe
- Określ różne właściwości klasy JpegOptions
- Wyrenderuj scalony obraz za pomocą instancji klasy JpegImage
Powyższe kroki opisują cały proces łączenia zdjęć w Javie. W pierwszym kroku wypisz różne obrazy, które chcesz połączyć w jedno zdjęcie. Następnie utwórz nowe zdjęcie i wyeksportuj je do obrazu wyjściowego przed zapisaniem go na dysku lub w strumieniu zgodnie z własnymi wymaganiami.
Kod do łączenia zdjęć w Javie
import com.aspose.imaging.*; | |
public class Main { | |
public static void main(String[] args) throws Exception // Merge photos in Java | |
{ | |
// Set the licenses | |
new License().setLicense("License.lic"); | |
// Creating an array of strings | |
String[] imagePaths = new String[3]; | |
// Initializing array elements | |
imagePaths[0] = "Sample1.jpg"; | |
imagePaths[1] = "Sample2.jpg"; | |
imagePaths[2] = "Sample3.jpg"; | |
// Path of output image | |
String outputPath = "output-combine.jpg"; | |
// Get resulting image size | |
int newWidth = 0; | |
int newHeight = 0; | |
for (String imagePath : imagePaths) { | |
try (com.aspose.imaging.RasterImage image = (com.aspose.imaging.RasterImage) com.aspose.imaging.Image.load(imagePath)) { | |
com.aspose.imaging.Size size = image.getSize(); | |
newWidth = Math.max(newWidth, size.getWidth()); | |
newHeight += size.getHeight(); | |
} | |
} | |
// Combine images into new one | |
try (com.aspose.imaging.imageoptions.JpegOptions options = new com.aspose.imaging.imageoptions.JpegOptions()) { | |
options.setSource(new com.aspose.imaging.sources.StreamSource()); // empty | |
options.setQuality(100); | |
// Create resultant image | |
try (com.aspose.imaging.fileformats.jpeg.JpegImage newImage = (com.aspose.imaging.fileformats.jpeg.JpegImage) com.aspose.imaging.Image.create(options, newWidth, newHeight)) { | |
int stitchedHeight = 0; | |
for (String imagePath : imagePaths) { | |
try (com.aspose.imaging.RasterImage image = (com.aspose.imaging.RasterImage) com.aspose.imaging.Image.load(imagePath)) { | |
com.aspose.imaging.Rectangle bounds = new com.aspose.imaging.Rectangle(0, stitchedHeight, image.getWidth(), image.getHeight()); | |
newImage.saveArgb32Pixels(bounds, image.loadArgb32Pixels(image.getBounds())); | |
stitchedHeight += image.getHeight(); | |
} | |
} | |
// Save resultant image | |
newImage.save(outputPath); | |
} | |
} | |
System.out.println("Done"); | |
} | |
} |
Tego przykładowego kodu można użyć do opracowania programu do łączenia obrazów w Javie. Wykorzystuje różne metody klasy JpegImage do tworzenia obrazu wyjściowego i sprawdzania rozmiaru obrazów. Następnie tworzy prostokąt i zapisuje obraz wyjściowy za pomocą metody Save, jednak można ustawić różne cechy obrazu wyjściowego, korzystając z metod udostępnianych przez klasę JpegOptions, takich jak skalowana jakość, profil kolorów RGB, tryb zaokrąglania próbki itp. zgodnie z Twoimi wymaganiami.
W tym artykule dowiedzieliśmy się o wykonywaniu scalania obrazów w Javie. Jeśli jesteś zainteresowany nauką przycinania obrazów, przeczytaj artykuł na jak przycinać obrazy w Javie.