Sloučit CMX přes Java
Vytvářejte své vlastní aplikace Java ke slučování souborů CMX pomocí rozhraní API na straně serveru.
Jak sloučit soubory CMX pomocí Java
Pokud chcete popustit uzdu své kreativitě, pak je čas použít obrázkovou koláž. Tato funkce vám umožní sloučit fotografie a obrázky, i když jsou zdrojové soubory různých formátů. Skvělým způsobem, jak upozornit na své portfolio, je použití fototapet s opakujícími se obrázky nebo vzory. V tomto případě lze obrázky kombinovat v horizontálním i vertikálním směru. V případě, že potřebujete předvést výsledek zpracování souboru, můžete snadno sloučit dva obrázky: před a po aplikaci fotografického efektu. Za účelem sloučení souborů CMX použijeme Aspose.Imaging for Java API, které je funkčně bohaté, výkonné a snadno použitelné rozhraní API pro manipulaci a konverzi obrázků pro platformu Java. Jeho nejnovější verzi si můžete stáhnout přímo z Maven a nainstalovat do svého Maven -založený projekt přidáním následujících konfigurací do souboru pom.xml.
Úložiště
<repository>
<id>AsposeJavaAPI</id>
<name>Aspose Java API</name>
<url>https://repository.aspose.com/repo/</url>
</repository>
Závislost
<dependency>
<groupId>com.aspose</groupId>
<artifactId>aspose-imaging</artifactId>
<version>version of aspose-imaging API</version>
<classifier>jdk16</classifier>
</dependency>
Kroky ke sloučení CMXs přes Java
Abyste mohli vyzkoušet následující pracovní postup ve svém vlastním prostředí, potřebujete aspose-imaging-version-jdk16.jar .
- Načtěte soubory CMX metodou Image.load
- Sloučení obrázků do nového
- Uložte oříznutý obrázek na disk ve formátu podporovaném Aspose.Imaging
Požadavky na systém
Aspose.Imaging pro Java je podporován ve všech hlavních operačních systémech. Jen se ujistěte, že máte následující předpoklady.
- Je nainstalován JDK 1.6 nebo vyšší.
Sloučit obrázky ve formátu CMX – Java
import com.aspose.imaging.Image; | |
import com.aspose.imaging.RasterImage; | |
import com.aspose.imaging.fileformats.tiff.TiffFrame; | |
import com.aspose.imaging.fileformats.tiff.TiffImage; | |
import com.aspose.imaging.fileformats.tiff.enums.TiffExpectedFormat; | |
import com.aspose.imaging.imageoptions.PdfOptions; | |
import com.aspose.imaging.imageoptions.PngOptions; | |
import com.aspose.imaging.imageoptions.TiffOptions; | |
import java.io.File; | |
import java.io.FilenameFilter; | |
import java.util.HashMap; | |
import java.util.Map; | |
String TestDirectory = "<some directory>\\Many2One\\"; | |
HashMap<String, Image> images = new HashMap<String, Image>(); | |
try | |
{ | |
String outputPath = TestDirectory + "output\\"; | |
File dir = new File(outputPath); | |
assert dir.exists() || dir.mkdirs(); | |
int maxWidth = 0; | |
int maxHeight = 0; | |
// Source file mask, could vary depending on image format (i.e. *.emf, *.wmf, *.svg, *.odg, etc) | |
final String fileMask = ".emf"; | |
File[] files = new File(TestDirectory).listFiles(new FilenameFilter() | |
{ | |
@Override | |
public boolean accept(File dir, String name) | |
{ | |
return name.endsWith(fileMask); | |
} | |
}); | |
if (files == null) | |
return; | |
for (File fileName : files) | |
{ | |
try (Image image = Image.load(fileName.getAbsolutePath())) | |
{ | |
String outputFileName = outputPath + fileName.getName() + ".png"; | |
// Save PNG image | |
image.save(outputFileName, new PngOptions()); | |
Image rasterImage = Image.load(outputFileName); | |
if (rasterImage.getWidth() > maxWidth) | |
{ | |
maxWidth = rasterImage.getWidth(); | |
} | |
if (rasterImage.getHeight() > maxHeight) | |
{ | |
maxHeight = rasterImage.getHeight(); | |
} | |
images.put(outputFileName, rasterImage); | |
} | |
} | |
if (images.isEmpty()) | |
{ | |
return; | |
} | |
String outputPath1 = outputPath + "multiframe.tiff"; | |
String outputPath2 = outputPath + "multipage.pdf"; | |
final Image[] imageArray = images.values().toArray(new Image[0]); | |
try (TiffImage tiffImage = new TiffImage(new TiffFrame((RasterImage) imageArray[0]))) | |
{ | |
for (int i = 1; i < imageArray.length; i++) | |
{ | |
tiffImage.addPage((RasterImage)imageArray[i]); | |
} | |
// Save as muti frame tiff | |
tiffImage.save(outputPath1, new TiffOptions(TiffExpectedFormat.TiffJpegRgb)); | |
// Worry about Pdf ? That's it! | |
tiffImage.save(outputPath2, new PdfOptions()); | |
} | |
} | |
finally | |
{ | |
for (Map.Entry<String, Image> entry : images.entrySet()) | |
{ | |
entry.getValue().close(); | |
new File(entry.getKey()).delete(); | |
} | |
images.clear(); | |
} |
O Aspose.Imaging pro Java API
Aspose.Imaging API je řešení pro zpracování obrázků pro vytváření, úpravu, kreslení nebo konverzi obrázků (fotografií) v rámci aplikací. Nabízí: multiplatformní zpracování obrazu, mimo jiné včetně převodů mezi různými formáty obrázků (včetně jednotného vícestránkového nebo vícesnímkového zpracování obrazu), úpravy jako kreslení, práci s grafickými primitivy, transformace (změna velikosti, oříznutí, převrácení a otočení). binarizace, stupně šedi, úprava), pokročilé funkce pro manipulaci s obrázky (filtrování, rozklad, maskování, vyrovnání sklonu) a strategie optimalizace paměti. Je to samostatná knihovna a není závislá na žádném softwaru pro operace s obrázky. V rámci projektů lze snadno přidat vysoce výkonné funkce pro konverzi obrázků s nativními rozhraními API. Jedná se o 100% soukromá on-premise API a obrázky se zpracovávají na vašich serverech.Sloučit CMXs pomocí online aplikace
Sloučte dokumenty ve formátu CMX na našem [webu s živými ukázkami] ( https://products.aspose.app/imaging/image-merge) . Živé demo má následující výhody
CMX co je CMX Formát souboru
Soubory s příponou CMX jsou formát souboru obrázků Corel Exchange, který používají aplikace CorelSuite jako prezentaci. Obsahuje obrazová data jako vektorovou grafiku i metadata, která obrázek popisují. Soubory CMX lze otevřít pomocí aplikací CorelDraw, Corel Presentations, Paint Shop Pro a některých verzí aplikace Adobe Illustrator.
Přečtěte si víceDalší podporované slučovací formáty
Pomocí Java lze snadno sloučit různé formáty včetně.