Om du letar efter en enkel att implementera men ändå den exakta metoden för att ändra storlek på bilder programmatiskt, har du hamnat på rätt plats. Den här artikeln visar hur du ändrar storlek på bilder i Java med några enkla steg.
bildredigerare erbjuder storleksändringsfunktion som låter dig ändra storleken på bilder enligt dina krav. När du designar en bildredigerare eller bearbetar bilder från dina Java-program kan du behöva ändra storlek på bilder programmatiskt. För att åstadkomma det, täcker den här artikeln hur man ändrar storlek på bilder i Java. Dessutom kommer du också att lära dig hur du ändrar storlek på bilder med hjälp av olika storleksändringstekniker.
- Java API för att ändra storlek på bilder
- Ändra storlek på rasterbilder i Java
- Ändra storlek på vektorbilder i Java
Ändra storlek på bilder i Java - API-installation
Aspose.Imaging for Java är ett flitigt använt bildbehandlings-API som låter dig manipulera bilder ganska enkelt. Vi kommer att använda detta API för att ändra storlek på bilder i den här artikeln. Du kan ladda ner API:t från nedladdningssektionen. Du kan också installera det från Maven med följande konfiguration i 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>
Ändra storlek på rasterbilder i Java
Aspose.Imaging för Java tillhandahåller två sätt att ändra storlek på rasterbilder. En är enkel storleksändring där du anger höjden och bredden på den resulterande bilden. Medan du i den andra metoden också anger en storleksändringstyp som talar om för API:n om storleksändringstekniken som ska användas, såsom Lanczos Resampling, Nearest Neighbor Resampling, etc. I följande avsnitt kommer vi att diskutera hur man implementerar var och en av dessa metoder för att ändra storlek på bilder.
Enkel storleksändring av bilder i Java
I den här storleksändringsmetoden behöver du bara ange dimensionerna för den resulterande bilden. Följande är stegen för att ändra storlek på en bild i Java.
- Använd först klassen Image för att ladda bilden du vill ändra storlek på.
- Anropa sedan metoden Image.resize(int, int) för att ändra storlek på bilden.
- Spara slutligen den resulterande bilden med metoden Image.save(string).
Följande kodavsnitt ändrar storlek på en bild till den angivna höjden och bredden.
// Ladda bilden
Image image = Image.load("aspose-logo.jpg");
// Definiera nya dimensioner
image.resize(300, 300);
// Spara bild
image.save("SimpleResizing_out.jpg");
Java Ändra storlek på bild med en specifik typ
Aspose.Imaging för Java tillhandahåller ett brett utbud av storleksändringstekniker, som listas här. Du kan välja en som passar ditt scenario. Till exempel rekommenderas Lanczos Resampling för kvalitetsändring av bildstorlek, men det fungerar långsammare. För snabb storleksändring används Nearest Neighbor Resampling, men det äventyrar bildens kvalitet. Följande är stegen för att ändra storlek på en bild med en viss storleksändringsteknik.
- Använd först klassen Image för att ladda bilden du vill ändra storlek på.
- Anrop sedan metoden Image.resize(int, int, ResizeType) för att ändra storlek på bilden med en viss teknik.
- Slutligen sparar du den resulterande bilden med metoden Image.save(string).
Följande kodexempel visar hur man ändrar storlek på en bild med en viss storleksändringsteknik.
// Ladda bilden
Image image = Image.load("aspose-logo.jpg");
// Definiera nya dimensioner och ändra storlekstyp
image.resize(300, 300, ResizeType.LanczosResample);
// Spara bild
image.save("SimpleResizing_out.jpg");
Proportionell bildstorleksändring i Java
Bildförhållandet beräknas medan du ändrar storlek på bilderna för att undvika krympta eller skalade resulterande bilder. Däremot kan eventuella felberäkningar av bildförhållandet orsaka sträckta bilder. För att bli av med sådana problem kan du låta API:et ta hand om själva bildförhållandet. Följande är stegen för att ändra storlek på en bild proportionellt.
- Använd först klassen Image för att ladda bilden du vill ändra storlek på.
- Cachelagra bilddata med metoden Image.cacheData().
- Definiera höjden och bredden på den resulterande bilden.
- Anropa metoderna Image.resizeWidthProportionally(int) och Image.resizeHeightProportionally(int) för att beräkna proportionsvärden.
- Slutligen sparar du den resulterande bilden med metoden Image.save(string).
Du kan också ange en viss storleksändringstyp samtidigt som du ändrar storleken på bilden proportionellt med överbelastningsmetoderna Image.resizeWidthProportionally(int, ResizeType) och Image.resizeHeightProportionally(int, ResizeType).
Följande Java-kodexempel visar hur man ändrar storlek på en bild proportionellt.
// Ladda bilden
Image image = Image.load("aspose-logo.jpg");
// Definiera nya dimensioner
int newWidth = image.getWidth() / 2;
image.resizeWidthProportionally(newWidth);
int newHeight = image.getHeight() / 2;
image.resizeHeightProportionally(newHeight);
// Spara bild
image.save("SimpleResizing_out.jpg");
Ändra storlek på vektorbilder i Java
Du kan också ändra storlek på en vektorbild och spara den i ett rasterbildsformat som PNG, JPEG, GIF, etc. Följande kod visar hur man uppnår det i Java med Aspose.Imaging.
// Ladda vektorbild
try (Image image = Image.load("image.svg"))
{
// Definiera nya dimensioner
image.resize(image.getWidth() * 10,image.getHeight() * 15);
// Spara bilden som PNG
image.save("Logotype_10_15.png", new PngOptions());
}
Java Image Resizing API - Skaffa en gratis licens
Du kan använda Aspose.Imaging för Java och ändra storlek på bilder utan utvärderingsbegränsningar genom att skaffa en gratis tillfällig licens.
Slutsats
I den här artikeln har du lärt dig hur du ändrar storlek på bilder i Java. Dessutom har artikeln behandlat hur man ändrar storlek på bilder med hjälp av olika tekniker som Lanczos Resampling, Nearest Neighbor Resampling, etc. Dessutom diskuteras proportionell bildstorlek och storleksändring av vektorbilder i Java. Du kan besöka dokumentation för att läsa mer om Java-bildbehandlings-API. Du kan också lära dig av källkodsexemplen som finns på GitHub. Om du har några frågor kan du nå oss på vårt forum.