Объединение изображений ODG с помощью Java
Создавайте собственные приложения Java для объединения изображений ODG с помощью серверных API
Как объединить файлы ODG с помощью Java
Если вы хотите дать волю творчеству, то самое время использовать коллаж изображений. Данная функция позволит объединять фотографии и изображения даже при разноформатности исходных файлов. Отличным способом привлечь внимание к вашему портфолио станет использование фотообоев с повторяющимися изображениями или паттернами. При этом объединение изображений возможно как в горизонтальном, так и в вертикальном направлениях. В том случае, если вам необходимо продемонстрировать результат обработки файла, вы с легкостью можете соединить два изображения: до и после применения фото-эффекта. Чтобы объединить файлы ODG, мы будем использовать Aspose.Imaging для Java API, который представляет собой многофункциональный, мощный и простой в использовании API для обработки и преобразования изображений для платформы Java. Вы можете скачать его последнюю версию прямо с Maven и установите его в своем проекте на основе Maven, добавив следующие конфигурации в файл pom.xml.
Репозиторий
<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>version of aspose-imaging API</version>
<classifier>jdk16</classifier>
</dependency>
Действия по объединению ODG с помощью Java
Вам нужно aspose-imaging-version-jdk16.jar , чтобы попробовать следующий рабочий процесс в вашей собственной среде.
- Загрузить файлы ODG с помощью метода Image.load
- Объединение изображений в новое
- Сохранение обрезанного изображения на диск в поддерживаемом Aspose.Imaging формате
Системные Требования
Aspose.Imaging для Java поддерживается во всех основных операционных системах. Просто убедитесь, что у вас есть следующие предпосылки:
- Установлен JDK 1.6 или выше.
Объединить ODG изображения - 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(); | |
} |
Об Aspose.Imaging for Java API
Aspose.Imaging API — это решение для обработки изображений, позволяющее создавать, изменять, рисовать или конвертировать изображения и фотографии в приложениях. Он предлагает: кросс-платформенную обработку изображений, включая, помимо прочего, преобразования между различными форматами изображений (включая единую многостраничную или многокадровую обработку изображений), модификации, такие как рисование, работа с графическими примитивами, преобразования (изменение размера, обрезка, отражение и поворот), бинаризация, оттенки серого, настройка яркости, контрастности, расширенные функции обработки изображений (фильтрация, дизеринг, маскирование, устранение перекоса) и стратегии оптимизации памяти. Это автономная библиотека, которая не зависит от какого-либо программного обеспечения для операций с изображениями. Можно легко добавить в проекты высокопроизводительные функции преобразования изображений с помощью собственных API. Это 100% частные локальные API, а изображения обрабатываются на ваших серверах.Объединить ODG через онлайн-приложение
Объедините документы ODG, посетив наш веб-сайт Live Demos . Online примеры имеют следующие преимущества
ODG Чем является ODG формат
Формат файла ODG используется приложением Draw Apache OpenOffice для хранения элементов чертежа в виде векторного изображения. Он следует спецификациям формата файлов на основе XML, изложенным в Улучшении стандартов структурной информации (OASIS). ODG представляет рисунки в виде векторных изображений с использованием точек, линий и кривых. Помимо OpenOffice, LibreOffice и другие приложения также поддерживают работу с форматом файлов ODG. Другие форматы, поддерживаемые OpenOffice, например, включают ODT, ODF, ODP и ODS.
Читать далееДругие поддерживаемые форматы слияния
Используя Java, можно легко объединять разные форматы изображений, в том числе: