PPTX DOCX XLSX PDF ODP
Aspose.Imaging  voor Python
EMF

Gebruik Python voor het aanpassen van afbeeldingen in EMF

Maak Python-apps om EMF-afbeeldingen en foto’s aan te passen via server-API’s

Hoe u EMF afbeeldingen en foto's kunt aanpassen met Python

Tijdens het vastleggen van beelden kunnen er fouten optreden als gevolg van onjuiste camera-instellingen. Ongecontroleerde verlichting kan ook de resultaten beïnvloeden, en zelfs professionele foto’s kunnen onvolkomenheden vertonen. In dergelijke scenario’s is er echter een methode om de afbeelding te verbeteren door gebruik te maken van softwaretools uit de Python-bibliotheek. U hebt de mogelijkheid om de helderheid, het contrast en de kleurbalans van het beeld nauwkeurig af te stellen. Als een foto bijvoorbeeld te vaag lijkt, zal het verhogen van de helderheid donkere gebieden verlichten, waardoor details zichtbaar worden die voorheen verborgen waren in schaduwen. Als uw afbeelding door kunstlicht ongewenste kleurzweem vertoont, kunt u dit corrigeren met de functie Kleurgamma-aanpassing. Om deze wijzigingen op EMF-bestanden uit te voeren, kunt u gebruik maken van Aspose.Imaging for Python via .NET API, een veelzijdige, krachtige en gebruiksvriendelijke API voor beeldmanipulatie en conversie voor het Python-platform. U kunt het installeren met behulp van de volgende opdracht van uw systeemopdracht.

De systeemopdrachtregel

>> pip install aspose-imaging-python-net

Stappen om EMF's aan te passen via Python

U hebt de aspose-imaging-python-net nodig om de volgende workflow in uw eigen omgeving uit te proberen.

  • Laad EMF-bestanden met de methode Image.Load
  • Pas afbeeldingen aan;
  • Bewaar gecomprimeerde afbeelding op schijf in het formaat dat wordt ondersteund door Aspose.Imaging

systeem vereisten

Aspose.Imaging voor Python wordt ondersteund op alle belangrijke besturingssystemen. Zorg ervoor dat u aan de volgende vereisten voldoet.

  • Microsoft Windows / Linux met .NET Core Runtime.
  • Python en PyPi pakketbeheerder.
 

Pas EMF afbeeldingen aan - Python

from aspose.imaging import *
from aspose.imaging.fileformats.bmp import *
from aspose.imaging.fileformats.dicom import *
from aspose.imaging.fileformats.emf import *
from aspose.imaging.fileformats.jpeg import *
from aspose.imaging.fileformats.jpeg2000 import *
from aspose.imaging.fileformats.png import *
from aspose.imaging.fileformats.psd import *
from aspose.imaging.fileformats.tiff.enums import *
from aspose.imaging.imagefilters.filteroptions import *
from aspose.imaging.imageoptions import *
from aspose.imaging.masking import *
from aspose.imaging.masking.options import *
from aspose.imaging.masking.result import *
from aspose.imaging.sources import *
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 adjust_gamma_rgb():
# https://apireference.aspose.com/imaging/python-net/aspose.imaging.rasterimage/adjustgamma
filter_images(lambda image: image.adjust_gamma(5, 0.1, 0.1), "adjustgammargb")
def adjust_gamma():
filter_images(lambda image: image.adjust_gamma(3), "adjustgamma")
def adjust_contrast():
filter_images(lambda image: image.adjust_contrast(50), "adjustcontrast")
def adjust_brightness():
filter_images(lambda image: image.adjust_brightness(100), "adjustbrightness")
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("tif")
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 = []
all_formats.extend(raster_formats)
all_formats.extend(vector_formats)
for format_ext in all_formats:
input_file = os.path.join(templates_folder, f"template.{format_ext}")
if not os.path.exists(input_file):
continue
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:
do_filter(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:
# for loop
page_index = 0
for page in multi_page.pages:
file_name = f"{filter_name}_page{page_index}_{format_ext}.png"
page.save(os.path.join(templates_folder + file_name), PngOptions())
# delete an output file
delete_file(os.path.join(templates_folder + file_name))
page_index += 1
else:
image.save(output_file, PngOptions())
# delete an output file
delete_file(output_file)
# delete a rasterized file
if is_vector_format:
delete_file(input_file)
def delete_file(file):
if delete_output:
os.remove(file)
def rasterize_vector_image(format_ext, input_file):
output_file = os.path.join(templates_folder, f"rasterized.{format_ext}.png")
with Image.load(input_file) as image:
image.save(output_file, PngOptions())
return output_file
# call one of the functions
adjust_brightness()
#adjust_contrast()
#adjust_gamma()
#adjust_gamma_rgb()
 
  • Over Aspose.Imaging voor Python API

    Aspose.Imaging API is een beeldverwerkingsoplossing voor het maken, wijzigen, tekenen of converteren van afbeeldingen (foto’s) binnen applicaties. Het biedt: platformonafhankelijke beeldverwerking, inclusief maar niet beperkt tot conversies tussen verschillende beeldformaten (inclusief uniforme beeldverwerking van meerdere pagina’s of meerdere frames), aanpassingen zoals tekenen, werken met grafische primitieven, transformaties (formaat wijzigen, bijsnijden, spiegelen en roteren , binarisatie, grijswaarden, aanpassen), geavanceerde functies voor beeldmanipulatie (filteren, dithering, maskeren, rechtzetten) en strategieën voor geheugenoptimalisatie. Het is een op zichzelf staande bibliotheek en is niet afhankelijk van software voor beeldbewerkingen. Men kan eenvoudig hoogwaardige functies voor beeldconversie toevoegen met native API’s binnen projecten. Dit zijn 100% private on-premise API’s en afbeeldingen worden verwerkt op uw servers.

    Pas EMF’s aan via online app

    Pas EMF-documenten aan door naar onze website voor livedemo’s te gaan. De live demo heeft de volgende voordelen:

      U hoeft niets te downloaden of in te stellen
      U hoeft geen code te schrijven
      Upload gewoon uw EMF-bestanden en druk op de knop "Nu aanpassen"
      Krijg direct de downloadlink voor het resulterende bestand

    EMF Wat is EMF Bestandsformaat

    Verbeterd metabestandsformaat (EMF) slaat grafische afbeeldingen apparaatonafhankelijk op. Metabestanden van EMF bestaan ​​uit records met variabele lengte in chronologische volgorde die de opgeslagen afbeelding kunnen weergeven na parsering op elk uitvoerapparaat. Deze records met variabele lengte kunnen definities zijn van ingesloten objecten, opdrachten voor tekenen en grafische eigenschappen die essentieel zijn om de afbeelding nauwkeurig weer te geven. Wanneer een apparaat een EMF-metabestand opent met zijn eigen grafische omgeving, blijven de verhoudingen, afmetingen, kleuren en andere grafische eigenschappen van de originele afbeelding hetzelfde, ongeacht het platform van het openende apparaat.

    Lees verder

    Andere ondersteunde formaten aanpassen

    Met behulp van Python kan men gemakkelijk verschillende formaten aanpassen, waaronder.

    APNG (Geanimeerde draagbare netwerkgraphics)
    BMP (Bitmapafbeelding)
    ICO (Windows-pictogram)
    JPG (Joint Photographic Experts Group)
    JPEG (Joint Photographic Experts Group)
    DIB (Apparaatonafhankelijke bitmap)
    DICOM (Digitale beeldvorming en communicatie)
    DJVU (Grafisch formaat)
    DNG (Digitale Camera Afbeelding)
    EMZ (Windows gecomprimeerd verbeterd metabestand)
    GIF (Grafisch uitwisselingsformaat)
    JP2 (JPEG 2000)
    J2K (Wavelet gecomprimeerde afbeelding)
    PNG (Draagbare netwerkgrafieken)
    TIFF (Gelabelde afbeeldingsindeling)
    TIF (Gelabelde afbeeldingsindeling)
    WEBP (Rasterwebafbeelding)
    WMF (Microsoft Windows-metabestand)
    WMZ (Gecomprimeerde Windows Media Player-skin)
    TGA (Targa-afbeelding)
    SVG (Schaalbare vectorafbeeldingen)
    EPS (Encapsulated PostScript-taal)
    CDR (Vector tekening afbeelding)
    CMX (Corel Exchange-afbeelding)
    OTG (OpenDocument-standaard)
    ODG (Apache OpenOffice Draw-indeling)