PPTX DOCX XLSX PDF ODP
Aspose.Imaging  для Python
WMF

Используйте Python для фильтров WMF изображений

Применяйте фильтры к WMF изображениям и фотографиям с использованием собственных Python приложений и серверных API

Как применить фильтр к WMF изображению используя библиотеку для Python

Даже очень удачный снимок имеет потенциал для дальнейшего улучшения, преобразования в нечто совершенно новое, перерождения в уникальное произведение. Фильтры - великолепное средство достижения разнообразных целей при работе с изображениями и фотографиями. Вы можете избирательно добавить резкость или размытье, убрать цветовые артефакты - достичь того, чтобы ваш снимок стал по-настоящему уникальным. Применяйте эффекты по отдельности или их комбинации, чтобы сгладить переходы между цветами, избавиться от нежелательного шума и усилить четкость контуров объектов на фотографии. Для применения фильтров к изображениям WMF, мы воспользуемся Aspose.Imaging for Python via .NET API, который представляет собой многофункциональный, мощный и простой в использовании API для обработки и преобразования изображений для платформы Python. Вы можете установить его, используя следующую команду из вашей системной командной консоли:

Системная командная строка

>> pip install aspose-imaging-python-net

Действия по фильтрации WMF с помощью Python

Вам понадобится aspose-imaging-python-net , чтобы попробовать следующий рабочий процесс в вашей собственной среде.

  • загрузите файлы WMF с помощью метода Image.Load;
  • примените фильтр изображения;
  • сохраните изображение на диск в поддерживаемом Aspose.Imaging формате.

Системные Требования

Aspose.Imaging для Python поддерживается во всех основных операционных системах. Просто убедитесь, что у вас есть следующие предпосылки:

  • Microsoft Windows/Linux с .NET Core Runtime.
  • Менеджер пакетов Python и PyPi.
 

Отфильтровать изображения WMF - Python

from aspose.imaging import RasterImage, Image, IMultipageImage, Rectangle
from aspose.imaging.imagefilters.filteroptions import *
from aspose.imaging.imageoptions import PngOptions
from aspose.pycore import as_of, is_assignable
import os
if 'TEMPLATE_DIR' in os.environ:
templates_folder = os.environ['TEMPLATE_DIR']
else:
templates_folder = r"C:\Users\USER\Downloads\templates"
delete_output = 'SAVE_OUTPUT' not in os.environ
def delete_file(file):
if delete_output:
os.remove(file)
def small_rectangular_filter():
filter_images(lambda image: image.filter(Rectangle(image.width // 6, image.height // 6, image.width * 2 // 3, image.height * 2 // 3), SmallRectangularFilterOptions()), "smallrectangular")
def big_rectangular_filter():
filter_images(lambda image: image.filter(Rectangle(image.width // 6, image.height // 6, image.width * 2 // 3, image.height * 2 // 3), BigRectangularFilterOptions()), "bigrectangular")
def sharpen_filter():
filter_images(lambda image: image.filter(Rectangle(image.width // 6, image.height // 6, image.width * 2 // 3, image.height * 2 // 3), SharpenFilterOptions()), "sharpen")
def motion_wiener_filter():
filter_images(lambda image: image.filter(Rectangle(image.width // 6, image.height // 6, image.width * 2 // 3, image.height * 2 // 3), MotionWienerFilterOptions(20, 2, 0)), "motionwiener")
def bilateral_smoothing_filter():
filter_images(lambda image: image.filter(Rectangle(image.width // 6, image.height // 6, image.width * 2 // 3, image.height * 2 // 3), BilateralSmoothingFilterOptions()), "bilateralsmoothing")
def gauss_blur_filter():
filter_images(lambda image: image.filter(Rectangle(image.width // 6, image.height // 6, image.width * 2 // 3, image.height * 2 // 3), GaussianBlurFilterOptions(5, 4)), "gaussblur")
def gauss_wiener_filter():
filter_images(lambda image: image.filter(Rectangle(image.width // 6, image.height // 6, image.width * 2 // 3, image.height * 2 // 3), GaussWienerFilterOptions(5, 5)), "gausswiener")
def median_filter():
filter_images(lambda image: image.filter(Rectangle(image.width // 6, image.height // 6, image.width * 2 // 3, image.height * 2 // 3), MedianFilterOptions(20)), "median")
def filter_images(do_filter, filter_name):
obj_init = []
obj_init.append("jpg")
obj_init.append("png")
obj_init.append("bmp")
obj_init.append("apng")
obj_init.append("dicom")
obj_init.append("jp2")
obj_init.append("j2k")
obj_init.append("tga")
obj_init.append("webp")
obj_init.append("tiff")
obj_init.append("gif")
obj_init.append("ico")
raster_formats = obj_init
obj_init2 = []
obj_init2.append("svg")
obj_init2.append("otg")
obj_init2.append("odg")
obj_init2.append("eps")
obj_init2.append("wmf")
obj_init2.append("emf")
obj_init2.append("wmz")
obj_init2.append("emz")
obj_init2.append("cmx")
obj_init2.append("cdr")
vector_formats = obj_init2
all_formats = raster_formats
all_formats.extend(vector_formats)
for format_ext in all_formats:
input_file = os.path.join(templates_folder, f"template.{format_ext}")
is_vector_format = format_ext in vector_formats
if is_vector_format:
input_file = rasterize_vector_image(format_ext, input_file)
output_file = os.path.join(templates_folder, f"{filter_name}_{format_ext}.png")
print(format_ext)
# explicit type casting from Image to RasterImage
with as_of(Image.load(input_file), RasterImage) as image:
multi_page = None
# if image implements an IMultipageImage interface
if is_assignable(image, IMultipageImage):
multi_page = as_of(image, IMultipageImage)
if multi_page is not None and multi_page.page_count > 1:
page_index = 0
for page in multi_page.pages:
file_name = f"{filter_name}_page{page_index}_{format_ext}.png"
do_filter(as_of(page, RasterImage))
page.save(templates_folder + file_name, PngOptions())
delete_file(templates_folder + file_name)
page_index += 1
else:
do_filter(image)
image.save(output_file, PngOptions())
delete_file(output_file)
if is_vector_format:
delete_file(input_file)
def rasterize_vector_image(format_ext, input_file):
output_file = os.path.join(templates_folder, "rasterized.{format_ext}.png")
with Image.load(input_file) as image:
image.save(output_file, PngOptions())
return output_file
# run
median_filter()
 
  • Об Aspose.Imaging for Python API

    Aspose.Imaging API — это решение для обработки изображений, позволяющее создавать, изменять, рисовать или конвертировать изображения и фотографии в приложениях. Он предлагает: кросс-платформенную обработку изображений, включая, помимо прочего, преобразования между различными форматами изображений (включая единую многостраничную или многокадровую обработку изображений), модификации, такие как рисование, работа с графическими примитивами, преобразования (изменение размера, обрезка, отражение и поворот), бинаризация, оттенки серого, настройка яркости, контрастности, расширенные функции обработки изображений (фильтрация, дизеринг, маскирование, устранение перекоса) и стратегии оптимизации памяти. Это автономная библиотека, которая не зависит от какого-либо программного обеспечения для операций с изображениями. Можно легко добавить в проекты высокопроизводительные функции преобразования изображений с помощью собственных API. Это 100% частные локальные API, а изображения обрабатываются на ваших серверах.

    Отфильтровать WMF через онлайн-приложение

    Отфильтруйте документы WMF, посетив наш веб-сайт Live Demos . Online примеры имеют следующие преимущества

      Не нужно ничего скачивать или настраивать
      Нет необходимости писать какой-либо код
      Просто загрузите файлы WMF и нажмите кнопку "Отфильтровать сейчас"
      Мгновенно получить ссылку для скачивания результирующего файла

    WMF Чем является WMF формат

    Файлы с расширением WMF представляют собой метафайл Microsoft Windows (WMF) для хранения данных векторных и растровых изображений. Чтобы быть более точным, WMF принадлежит к категории форматов векторных файлов форматов графических файлов, которые не зависят от устройства. Интерфейс графических устройств Windows (GDI) использует функции, хранящиеся в файле WMF, для отображения изображения на экране. Более расширенная версия WMF, известная как Enhanced Meta Files (EMF), была опубликована позже, что делает формат более многофункциональным. Практически WMF похож на SVG.

    Читать далее

    Другие поддерживаемые форматы фильтров изображений

    Используя Python, можно легко фильтровать различные форматы, в том числе:

    APNG (Анимированная портативная сетевая графика)
    BMP (Растровое изображение)
    ICO (Значок Windows)
    JPG (Объединенная группа экспертов по фотографии)
    JPEG (Объединенная группа экспертов по фотографии)
    DIB (Независимое от устройства растровое изображение)
    DICOM (Цифровая визуализация и связь)
    DJVU (Графический формат)
    DNG (Изображение цифровой камеры)
    EMF (Расширенный формат метафайла)
    EMZ (Сжатый расширенный метафайл Windows)
    GIF (Графический формат обмена)
    JP2 (JPEG 2000)
    J2K (Сжатое изображение вейвлета)
    PNG (Портативная сетевая графика)
    TIFF (Формат изображения с тегами)
    TIF (Формат изображения с тегами)
    WEBP (Растровое веб-изображение)
    WMZ (Сжатая оболочка проигрывателя Windows Media)
    TGA (Тарга Графика)
    SVG (Масштабируемая векторная графика)
    EPS (Инкапсулированный язык PostScript)
    CDR (Векторный рисунок изображения)
    CMX (Обмен изображениями Corel)
    OTG (Стандарт OpenDocument)
    ODG (Формат отрисовки Apache OpenOffice)