Перетворіть EMF на SVGZ за допомогою Java
Перетворіть EMF у SVGZ за допомогою власних API Java, не потребуючи будь-якого редактора зображень або сторонніх бібліотек.
Як перетворити EMF на SVGZ за допомогою Java
Перетворення форматів файлів може здатися рутинним завданням, з яким стикаються графічні дизайнери. Проте недооцінювати його значення було б помилкою. Оцінка вашої роботи може залежати від того, наскільки швидко і ефективно ви вирішите це завдання. Як правило, оригінальні зображення потребують перетворення у формати, які краще підходять для друку або публікації в Інтернеті. Якщо вихідне зображення походить із графічного редактора, воно може бути у векторному форматі. У цьому випадку його потрібно растеризувати та перетворити на растровий формат для публікації. У вас є вибір: зберегти зображення в нестисненому форматі для оптимальної якості або конвертувати його у стиснутий формат без втрат, щоб зменшити розмір файлу. У певних контекстах, як-от веб-публікація, ви можете вибрати формати зі стисненням із втратами даних. Спеціально розроблені алгоритми стиснення даних зображення дозволяють значно зменшити розмір файлу, зберігаючи прийнятну якість зображення. Це полегшує швидке завантаження файлів зображень з Інтернету. Щоб перетворити EMF на SVGZ, ми будемо використовувати Aspose.Imaging for Java API, який є багатофункціональним, потужним і простим у використанні API для обробки зображень і перетворення для платформи Java. Ви можете завантажити його останню версію безпосередньо з Maven і встановити на своєму Maven на основі проекту, додавши такі конфігурації до pom.xml.
Репозиторiй
<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>
Кроки для перетворення EMF у SVGZ за допомогою Java
Розробники можуть легко завантажити та перетворити файли EMF у SVGZ лише за кілька рядків коду.
- Завантажити файл EMF методом Image.load
- Створіть і встановіть екземпляр необхідного підкласу ImageOptionsBase (наприклад, BmpOptions, PngOptions тощо)
- Викличте метод Image.save
- Передайте шлях до файлу з розширенням SVGZ і об’єкт класу ImageOptionsBase
Системні вимоги
Перш ніж запускати код прикладу перетворення, переконайтеся, що у вас є такі передумови.
- Операційна система: Windows або Linux.
- Середовище розробки: підтримує .NET Core 7 і вище, наприклад Microsoft Visual Studio.
Безкоштовна програма для перетворення EMF у SVGZ
- Виберіть або перетягніть зображення EMF
- Виберіть формат і натисніть кнопку Конвертувати.
- Натисніть кнопку «Завантажити», щоб завантажити зображення SVGZ
Перегляньте наші демонстрації в прямому ефірі для перетворення EMF у SVGZ
Перетворити EMF на SVGZ - Java
import com.aspose.imaging.Image; | |
import com.aspose.imaging.ImageOptionsBase; | |
import com.aspose.imaging.fileformats.jpeg2000.Jpeg2000Codec; | |
import com.aspose.imaging.fileformats.png.PngColorType; | |
import com.aspose.imaging.fileformats.tiff.enums.TiffExpectedFormat; | |
import com.aspose.imaging.imageoptions.*; | |
//This example demonstrates how to convert all supported file formats from one to another | |
String templatesFolder = "D:\\WorkDir\\"; | |
//Formats that support both - save and load | |
HashMap<String, ImageOptionsBase> formatsThatSupportExportAndImport = new HashMap<String, ImageOptionsBase>(); | |
formatsThatSupportExportAndImport.put("bmp", new BmpOptions()); | |
formatsThatSupportExportAndImport.put("gif", new GifOptions()); | |
formatsThatSupportExportAndImport.put("dicom", new DicomOptions()); | |
formatsThatSupportExportAndImport.put("emf", new EmfOptions()); | |
formatsThatSupportExportAndImport.put("jpg", new JpegOptions()); | |
formatsThatSupportExportAndImport.put("jpeg", new JpegOptions()); | |
formatsThatSupportExportAndImport.put("jpeg2000", new Jpeg2000Options() ); | |
formatsThatSupportExportAndImport.put("j2k", new Jpeg2000Options() {{ setCodec(Jpeg2000Codec.J2K); }} ); | |
formatsThatSupportExportAndImport.put("jp2", new Jpeg2000Options() {{ setCodec(Jpeg2000Codec.Jp2); }} ); | |
formatsThatSupportExportAndImport.put("png",new PngOptions() {{ setColorType(PngColorType.TruecolorWithAlpha); }}); | |
formatsThatSupportExportAndImport.put("apng", new ApngOptions()); | |
formatsThatSupportExportAndImport.put("svg", new SvgOptions()); | |
formatsThatSupportExportAndImport.put("tiff", new TiffOptions(TiffExpectedFormat.Default)); | |
formatsThatSupportExportAndImport.put("tif", new TiffOptions(TiffExpectedFormat.Default)); | |
formatsThatSupportExportAndImport.put("wmf", new WmfOptions()); | |
formatsThatSupportExportAndImport.put("emz", new EmfOptions() {{ setCompress(true); }}); | |
formatsThatSupportExportAndImport.put("wmz", new WmfOptions() {{ setCompress(true); }}); | |
formatsThatSupportExportAndImport.put("svgz", new SvgOptions(){{ setCompress(true); }}); | |
formatsThatSupportExportAndImport.put("tga", new TgaOptions()); | |
formatsThatSupportExportAndImport.put("webp", new WebPOptions()); | |
formatsThatSupportExportAndImport.put("ico", new IcoOptions()); | |
//Formats that can be only saved | |
HashMap<String, ImageOptionsBase> formatsOnlyForExport = new HashMap<String, ImageOptionsBase>(); | |
formatsOnlyForExport.put("psd", new PsdOptions()); | |
formatsOnlyForExport.put("dxf", new DxfOptions() {{ setTextAsLines(true); setConvertTextBeziers(true); }} ); | |
formatsOnlyForExport.put("pdf", new PdfOptions()); | |
formatsOnlyForExport.put("html", new Html5CanvasOptions()); | |
//Formats that can be only loaded | |
List<String> formatsOnlyForImport = Arrays.asList("djvu", "dng", "dib", "eps", "cdr", "cmx", "otg", "odg"); | |
//Get total formats that can be saved | |
HashMap<String, ImageOptionsBase> exportToFormats = new HashMap<String, ImageOptionsBase>(formatsOnlyForExport); | |
exportToFormats.putAll(formatsThatSupportExportAndImport); | |
//Get total formats that can be loaded | |
List<String> importFormats = new LinkedList<>(formatsOnlyForImport); | |
importFormats.addAll(formatsThatSupportExportAndImport.keySet()); | |
importFormats.forEach((formatExt) -> { | |
String inputFile = templatesFolder + "template." + formatExt; | |
for (Map.Entry<String, ImageOptionsBase> exportFormat : exportToFormats.entrySet()) | |
{ | |
String outputFile = String.format("%s\\%s\\%s-%s-to-%s.%s", templatesFolder, "convert", "convert-", formatExt, exportFormat.getKey(), exportFormat.getKey()); | |
System.out.println(outputFile); | |
// More about load method can be found at | |
// https://apireference.aspose.com/imaging/java/com.aspose.imaging/Image#load-java.lang.String- | |
try (Image image = Image.load(inputFile)) | |
{ | |
ImageOptionsBase exportOptions = exportFormat.getValue().deepClone(); | |
if ((formatExt.equals("emf") || formatExt.equals("emz")) && (exportFormat.getValue() instanceof WmfOptions)) | |
{ | |
EmfRasterizationOptions rasterizationOptions = new EmfRasterizationOptions(); | |
rasterizationOptions.setPageWidth(image.getWidth()); | |
rasterizationOptions.setPageHeight(image.getHeight()); | |
exportOptions.setVectorRasterizationOptions(rasterizationOptions); | |
} | |
image.save(outputFile, exportOptions); | |
} | |
} | |
}); |
EMF Що таке EMF формат
Розширений формат метафайлів (EMF) зберігає графічні зображення незалежно від пристрою. Метафайли EMF складаються із записів змінної довжини в хронологічному порядку, які можуть відтворити збережене зображення після аналізу на будь-якому пристрої виводу. Ці записи змінної довжини можуть бути визначеннями закритих об’єктів, командами для малювання та властивостями графіки, критичними для точного відтворення зображення. Коли пристрій відкриває метафайл EMF за допомогою власного графічного середовища, пропорції, розміри, кольори та інші графічні властивості оригінального зображення залишаються незмінними незалежно від платформи пристрою, що відкривається.
Детальніше | EMFSVGZ Що таке SVGZ формат
Файл із розширенням .svgz є стиснутою версією файлу масштабованої векторної графіки (.SVG). Він стискається за допомогою стиснення gzip і містить дані у форматі XML. Файли SVGZ підтримують прозорість, градієнти, анімацію та фільтри. Файли SVGZ мають менший розмір порівняно з файлами SVG за замовчуванням, і цей зменшений розмір файлу допомагає передавати графічні файли онлайн. Графічний дизайнер створює файли SVGZ за допомогою таких інструментів, як Adobe Illustrator, Corel PaintShop Pro та інших. Однак файли SVGZ можна створити, увімкнувши стиснення GZip на сервері Apache під час надсилання даних зображення.
Детальніше | SVGZІнші підтримувані перетворення
Використовуючи Java, можна легко конвертувати різні формати, зокрема.