Justera CDRs via Java
Bygg dina egna Java-appar för att justera CDR-filer med hjälp av API:er på serversidan.
Hur man justerar CDR-filer med Java
Även de mest erfarna fotograferna kan göra misstag eller stöta på ogynnsamma ljusförhållanden under en fotografering. Sådana situationer kan leda till bilddefekter, men även ett dåligt foto har en chans. Med Java-biblioteket kan du programmässigt korrigera dessa problem genom att justera ljusstyrka, kontrast och färggamma. Om ett foto blir för mörkt kommer en ökning av ljusstyrkan att göra de mörka områdena ljusare, vilket gör tidigare dolda detaljer synliga. Justering av kontrasten ökar skillnaden mellan ljusa och mörka områden, vilket utökar ljusstyrkan för en förbättrad bild. Om du har tagit ett foto under artificiell belysning som resulterar i en oönskad färgnyans, använd färggammajusteringen för att korrigera vitbalansen. För att justera CDR-filer kommer vi att använda Aspose.Imaging for Java API som är ett funktionsrikt, kraftfullt och lättanvänt API för bildmanipulation och konvertering för Java-plattformen. Du kan ladda ner den senaste versionen direkt från Maven och installera den i din Maven -baserat projekt genom att lägga till följande konfigurationer till pom.xml.
Repository
<repository>
<id>AsposeJavaAPI</id>
<name>Aspose Java API</name>
<url>https://repository.aspose.com/repo/</url>
</repository>
Beroende
<dependency>
<groupId>com.aspose</groupId>
<artifactId>aspose-imaging</artifactId>
<version>version of aspose-imaging API</version>
<classifier>jdk16</classifier>
</dependency>
Steg för att justera CDRs via Java
Du behöver aspose-imaging-version-jdk16.jar för att prova följande arbetsflöde i din egen miljö.
- Ladda CDR-filer med Image.Load-metoden
- Justera bilder;
- Spara komprimerad bild på skiva i det format som stöds av Aspose.Imaging
Systemkrav
Aspose.Imaging för Java stöds på alla större operativsystem. Se bara till att du har följande förutsättningar.
- JDK 1.6 eller högre är installerat.
Justera CDR bilder - Java
import com.aspose.imaging.IMultipageImage; | |
import com.aspose.imaging.Image; | |
import com.aspose.imaging.RasterImage; | |
import com.aspose.imaging.imageoptions.PngOptions; | |
import java.io.File; | |
import java.util.Arrays; | |
import java.util.LinkedList; | |
import java.util.List; | |
import java.util.function.Consumer; | |
adjustBrightness(); | |
public static void adjustGammaRGB() | |
{ | |
filterImages(image -> | |
{ | |
//https://apireference.aspose.com/imaging/java/com.aspose.imaging/RasterImage#adjustGamma-float-float-float- | |
image.adjustGamma(5, 0.1f, 0.1f); | |
}, "adjustgammargb"); | |
} | |
public static void adjustGamma() | |
{ | |
filterImages(image -> | |
{ | |
//https://apireference.aspose.com/imaging/java/com.aspose.imaging/RasterImage#adjustGamma-float- | |
image.adjustGamma(3); | |
}, "adjustgamma"); | |
} | |
public static void adjustContrast() | |
{ | |
filterImages(image -> | |
{ | |
//https://apireference.aspose.com/imaging/java/com.aspose.imaging/RasterImage#adjustContrast-float- | |
image.adjustContrast(50); | |
}, "adjustcontrast"); | |
} | |
public static void adjustBrightness() | |
{ | |
filterImages(image -> | |
{ | |
//https://apireference.aspose.com/imaging/java/com.aspose.imaging/RasterImage#adjustBrightness-int- | |
image.adjustBrightness(100); | |
}, "adjustbrightness"); | |
} | |
static String templatesFolder = "D:\\"; | |
public static void filterImages(Consumer<RasterImage> doFilter, String filterName) | |
{ | |
List<String> rasterFormats = Arrays.asList("jpg", "png", "bmp", "apng", "dicom", | |
"jp2", "j2k", "tga", "webp", "tif", "gif", "ico"); | |
List<String> vectorFormats = Arrays.asList("svg", "otg", "odg", "eps", "wmf", "emf", "wmz", "emz", "cmx", "cdr"); | |
List<String> allFormats = new LinkedList<>(rasterFormats); | |
allFormats.addAll(vectorFormats); | |
allFormats.forEach( | |
formatExt -> | |
{ | |
String inputFile = templatesFolder + "template." + formatExt; | |
boolean isVectorFormat = vectorFormats.contains(formatExt); | |
//Need to rasterize vector formats before background remove | |
if (isVectorFormat) | |
{ | |
inputFile = rasterizeVectorImage(formatExt, inputFile); | |
} | |
String outputFile = templatesFolder + String.format("%s_%s.png", filterName, formatExt); | |
System.out.println("Processing " + formatExt); | |
try (RasterImage image = (RasterImage) Image.load(inputFile)) | |
{ | |
doFilter.accept(image); | |
//If image is multipage save each page to png to demonstrate results | |
if (image instanceof IMultipageImage && ((IMultipageImage) image).getPageCount() > 1) | |
{ | |
IMultipageImage multiPage = (IMultipageImage) image; | |
final int pageCount = multiPage.getPageCount(); | |
final Image[] pages = multiPage.getPages(); | |
for (int pageIndex = 0; pageIndex < pageCount; pageIndex++) | |
{ | |
String fileName = String.format("%s_page%d_%s.png", filterName, pageIndex, formatExt); | |
pages[pageIndex].save(fileName, new PngOptions()); | |
} | |
} | |
else | |
{ | |
image.save(outputFile, new PngOptions()); | |
} | |
} | |
//Remove rasterized vector image | |
if (isVectorFormat) | |
{ | |
new File(inputFile).delete(); | |
} | |
} | |
); | |
} | |
private static String rasterizeVectorImage(String formatExt, String inputFile) | |
{ | |
String outputFile = templatesFolder + "rasterized."+ formatExt + ".png"; | |
try (Image image = Image.load(inputFile)) | |
{ | |
image.save(outputFile, new PngOptions()); | |
} | |
return outputFile; | |
} |
Om Aspose.Imaging för Java API
Aspose.Imaging API är en bildbehandlingslösning för att skapa, modifiera, rita eller konvertera bilder (foton) i applikationer. Det erbjuder: plattformsoberoende bildbehandling, inklusive men inte begränsat till konverteringar mellan olika bildformat (inklusive enhetlig bildbehandling med flera sidor eller flera ramar), modifieringar som ritning, arbete med grafiska primitiver, transformationer (ändra storlek, beskära, vänd och rotera , binarisering, gråskala, justera), avancerade bildmanipuleringsfunktioner (filtrering, vibrering, maskering, avskedning) och minnesoptimeringsstrategier. Det är ett fristående bibliotek och är inte beroende av någon programvara för bildoperationer. Man kan enkelt lägga till högpresterande bildkonverteringsfunktioner med inbyggda API:er inom projekt. Dessa är 100 % privata API:er på plats och bilder bearbetas på dina servrar.Justera CDR via onlineappen
Justera CDR-dokument genom att besöka vår webbplats för Live Demos . Livedemon har följande fördelar
CDR Vad är CDR Filformat
En CDR-fil är en vektorritningsbildfil som skapas med CorelDRAW för att lagra digitala bilder kodade och komprimerade. En sådan ritfil innehåller text, linjer, former, bilder, färger och effekter för vektorrepresentation av bildinnehåll. CDR-filer kan öppnas med CorelDRAW som primärapplikation och kan även konverteras till andra format som PDF, JPG, PNG, BMP och AI. Den kan användas för representation av olika grafiska data som broschyrer, tabloider, kuvert och vykort. Förutom CorelDRAW kan andra Corel-produkter som Corel Paintshop Pro och CorelDRAW Graphics Suite också öppna CDR-filformaten.
Läs merAndra stödda justeringsformat
Med Java kan man enkelt justera olika format inklusive.