Letar du efter den bästa men lätta att implementera bildbeskärningslösningen för din Java-applikation? Om ja, kommer den här artikeln att lära dig hur du beskär bilder i Java inom några enkla steg.

Beskär bilder i Java

I de tidigare blogginläggen har vi visat dig hur du implementerar olika bildredigeringsfunktioner som ändra storlek, vända och roterande bilder. Tillsammans med dessa funktioner används bildbeskärning oerhört för att trimma de oönskade områdena i bilderna. Du beskär också en bild för att fokusera på ett visst objekt i ramen. I den här artikeln kommer du att lära dig hur du beskär bilder programmatiskt i Java. Vi kommer att visa hur man beskär en bild med hjälp av skiftvärden eller med en rektangel.

Beskär bilder i Java - API-installation

Aspose.Imaging for Java är ett fantastiskt bildredigerings-API som ger ett brett utbud av funktioner för att manipulera bilder. Dessutom stöder den en mängd olika raster- och vektorbildsformat. Vi kommer att använda detta API för att beskära bilderna från vår Java-applikation. Du kan antingen ladda ner API:et eller installera det med följande Maven-konfigurationer.

<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>

Hur man beskär bilder i Java

Det finns två sätt att beskära en rasterbild: skiftvärden och rektangel. I den första metoden måste vi tillhandahålla vänster-, höger-, topp- och bottenskiftvärden för att beskära en bild. Medan vi i den andra metoden definierar en rektangel för att beskära ett visst område av en bild.

Låt oss ta en titt på var och en av de ovan nämnda metoderna för att beskära bilder i Java.

Beskär bilder med skiftvärden

Följande är stegen för att beskära en bild med skiftvärden i Java.

Följande kodexempel visar hur man beskär en bild i Java.

// Ladda en bild.
try (RasterImage rasterImage = (RasterImage) Image.load("image.jpg")) {
	// Innan beskärning bör bilden cachelagras för bättre prestanda.
	if (!rasterImage.isCached()) {
		rasterImage.cacheData();
	}

	// Definiera skiftvärden för alla fyra sidorna.
	int leftShift = 10;
	int rightShift = 10;
	int topShift = 10;
	int bottomShift = 10;

	// Baserat på skiftvärdena, tillämpa beskärningen på bilden. Beskärningsmetoden kommer att ändras
	// bilden gränsar mot mitten av bilden och spara resultaten på disk.
	rasterImage.crop(leftShift, rightShift, topShift, bottomShift);

	// Spara beskuren bild.
	rasterImage.save("cropped.jpg");
}

Följande är ingångsbilden som vi använde för beskärning.

beskär bilden i Java

Nedan är den resulterande beskurna bilden.

bildbeskärning i Java

Java-bildbeskärning med rektangel

Du kan också definiera en rektangel för att beskära önskat område av en bild. Följande steg demonstrerar bildbeskärning med en rektangel i Java.

Följande kodexempel visar hur man beskär bilder med en rektangel i Java.

// Ladda en bild.
try (RasterImage rasterImage = (RasterImage) Image.load("image.jpg")) {
	// Innan beskärning bör bilden cachelagras för bättre prestanda.
	if (!rasterImage.isCached()) {
		rasterImage.cacheData();
	}

	// Skapa en instans av klassen Rectangle med önskad storlek.
	Rectangle rectangle = new Rectangle(20, 20, 20, 20);
	
	// Beskära bild.
	rasterImage.crop(rectangle);

	// Spara beskuren bild.
	rasterImage.save("cropped.jpg");
}

Beskär bilder i Java med en gratis licens

Du kan få en gratis tillfällig licens och beskära bilder utan utvärderingsbegränsningar.

Slutsats

I den här artikeln har du lärt dig hur du beskär bilder i Java. Vi har demonstrerat ett par sätt att beskära en bild med hjälp av skiftvärden eller en rektangel. Dessutom kan du utforska mer om Javas bildbehandlings-API med hjälp av dokumentation. Du kan också dela dina frågor med oss via vårt forum.

Se även