PPTX DOCX XLSX PDF ODP
Aspose.Imaging  für Python
WMF

Verwenden Sie Python, um Filter für WMF-Bilder anzuwenden

Erstellen Sie Python-Apps zum Filtern von WMF-Bildern und Fotos über Server-APIs

So filtern Sie WMF-Bilder und Fotos mit Python

Jedes gut aufgenommene Foto birgt das Potenzial zur Verbesserung, die Chance, sich zu etwas völlig Besonderem und zu einer einzigartigen Kreation zu entwickeln. Filter dienen als vielseitiges Werkzeug zur Bild- und Fotoverbesserung und ermöglichen es Ihnen, die Schärfe gezielt zu verbessern, Unschärfen einzuführen oder Farbartefakte zu beseitigen, um ein wirklich unverwechselbares Ergebnis zu erzielen. Experimentieren Sie mit Bildeffekten einzeln oder in Kombination, um Farbverläufe nahtlos zu verschmelzen, unerwünschtes Rauschen zu eliminieren und die Schärfe von Objektkanten in Ihrem Foto zu verbessern. Um diese Bildfilter auf WMF-Dateien anzuwenden, verwenden wir Aspose.Imaging for Python via .NET API, eine funktionsreiche, leistungsstarke und benutzerfreundliche Bildbearbeitungs- und Konvertierungs-API für die Python-Plattform. Sie können es mit dem folgenden Befehl aus Ihrem Systembefehl installieren.

Die Systembefehlszeile

>> pip install aspose-imaging-python-net

Schritte zum Filtern von WMFs über Python

Sie benötigen aspose-imaging-python-net , um den folgenden Workflow in Ihrer eigenen Umgebung auszuprobieren.

  • Laden Sie WMF-Dateien mit der Image.Load-Methode
  • Bilder filtern;
  • Speichern Sie komprimierte Bilder im von Aspose.Imaging unterstützten Format auf Disc

System Anforderungen

Aspose.Imaging für Python wird auf allen wichtigen Betriebssystemen unterstützt. Stellen Sie einfach sicher, dass Sie die folgenden Voraussetzungen erfüllen.

  • Microsoft Windows / Linux mit .NET Core Runtime.
  • Python- und PyPi-Paketmanager.
 

WMF-Bilder filtern – 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()
 
  • Über Aspose.Imaging für die Python-API

    Aspose.Imaging API ist eine Bildverarbeitungslösung zum Erstellen, Ändern, Zeichnen oder Konvertieren von Bildern (Fotos) in Anwendungen. Es bietet: plattformübergreifende Bildverarbeitung, einschließlich, aber nicht beschränkt auf Konvertierungen zwischen verschiedenen Bildformaten (einschließlich einheitlicher Mehrseiten- oder Multiframe-Bildverarbeitung), Modifikationen wie Zeichnen, Arbeiten mit grafischen Grundelementen, Transformationen (Größe ändern, Zuschneiden, Spiegeln und Drehen , Binarisierung, Graustufen, Anpassen), erweiterte Bildbearbeitungsfunktionen (Filtern, Dithering, Maskieren, Entzerren) und Strategien zur Speicheroptimierung. Es ist eine eigenständige Bibliothek und hängt von keiner Software für Bildoperationen ab. Mit nativen APIs können innerhalb von Projekten problemlos hochleistungsfähige Bildkonvertierungsfunktionen hinzugefügt werden. Dies sind 100 % private lokale APIs und Bilder werden auf Ihren Servern verarbeitet.

    Filtern Sie WMFs über die Online-App

    Filtern Sie WMF-Dokumente, indem Sie unsere [Live-Demo-Website] ( https://products.aspose.app/imaging/image-Filter ) besuchen. Die Live-Demo hat die folgenden Vorteile

      Sie müssen nichts herunterladen oder einrichten
      Es muss kein Code geschrieben werden
      Laden Sie einfach Ihre WMF-Dateien hoch und klicken Sie auf die Schaltfläche "Jetzt filtern".
      Erhalten Sie sofort den Download-Link für die resultierende Datei

    WMF Was ist WMF Datei Format

    Dateien mit der Erweiterung WMF stellen Microsoft Windows Metafile (WMF) zum Speichern von Bilddaten im Vektor- und Bitmap-Format dar. Genauer gesagt gehört WMF zur Kategorie der Vektordateiformate der Grafikdateiformate, die geräteunabhängig ist. Windows Graphical Device Interface (GDI) verwendet die in einer WMF-Datei gespeicherten Funktionen, um ein Bild auf dem Bildschirm anzuzeigen. Eine erweiterte Version von WMF, bekannt als Enhanced Meta Files (EMF), wurde später veröffentlicht, wodurch das Format funktionsreicher wird. In der Praxis ähneln WMF SVG.

    Wesen

    Andere unterstützte Filterformate

    Mit Python kann man einfach verschiedene Formate filtern, einschließlich.

    APNG (Animierte tragbare Netzwerkgrafiken)
    BMP (Bitmap-Bild)
    ICO (Windows-Symbol)
    JPG (Gemeinsame fotografische Expertengruppe)
    JPEG (Gemeinsame fotografische Expertengruppe)
    DIB (Geräteunabhängige Bitmap)
    DICOM (Digitale Bildgebung und Kommunikation)
    DJVU (Grafikformat)
    DNG (Digitalkamera-Bild)
    EMF (Verbessertes Metafile-Format)
    EMZ (Windows komprimierte erweiterte Metadatei)
    GIF (Grafisches Austauschformat)
    JP2 (JPEG2000)
    J2K (Wavelet-komprimiertes Bild)
    PNG (Portable Netzwerkgrafiken)
    TIFF (Markiertes Bildformat)
    TIF (Markiertes Bildformat)
    WEBP (Raster-Webbild)
    WMZ (Komprimierte Windows Media Player-Skin)
    TGA (Targa-Grafik)
    SVG (Skalierbare Vektorgrafiken)
    EPS (Gekapselte PostScript-Sprache)
    CDR (Vektor-Zeichenbild)
    CMX (Corel Exchange-Bild)
    OTG (OpenDocument-Standard)
    ODG (Apache OpenOffice Draw-Format)