PPTX DOCX XLSX PDF ODP
Aspose.Imaging  dla Python
WMZ

Użyj języka Python do rozsiewania obrazów w formacie WMZ

Twórz aplikacje Python do ditheringu obrazów i zdjęć w formacie WMZ za pośrednictwem interfejsów API serwera

Jak roztrząsać obrazy i zdjęcia w formacie WMZ za pomocą narzędzia Python

Poprawa parametrów obrazu i zdjęć na stronie internetowej znacząco wpływa na ruch w sieci. Wśród tych optymalizacji zmniejszenie palety kolorów obrazu skutecznie minimalizuje rozmiary plików i przyspiesza ładowanie strony. Aby jednak zapobiec ostrym krawędziom lub zakłóceniom w gradientach kolorów, zaleca się wykorzystanie metody ditheringu. Technika ta pomaga w udoskonaleniu przejść kolorów i poprawie ogólnej jakości obrazu. Wprowadza lekki „szum”, który pozytywnie wpływa na odbiór obrazu. W przypadku obrazów ditheringu w formacie WMZ zastosujemy Aspose.Imaging for Python via .NET API, które jest bogatym w funkcje, potężnym i łatwym w użyciu interfejsem API do manipulacji i konwersji obrazów dla platformy Python. Możesz go zainstalować za pomocą następującego polecenia z polecenia systemowego.

Systemowy wiersz poleceń

>> pip install aspose-imaging-python-net

Kroki do roztrząsania WMZ przez Python

Potrzebujesz aspose-imaging-python-net , aby wypróbować następujący przepływ pracy we własnym środowisku.

  • Załaduj pliki WMZ za pomocą metody Image.Load
  • Obrazy roztrząsania;
  • Zapisz skompresowany obraz na dysku w formacie obsługiwanym przez Aspose.Imaging

wymagania systemowe

Aspose.Imaging dla Python jest obsługiwane we wszystkich głównych systemach operacyjnych. Tylko upewnij się, że masz następujące wymagania wstępne.

  • Microsoft Windows / Linux ze środowiskiem wykonawczym .NET Core.
  • Menedżer pakietów Python i PyPi.
 

Roztrząsanie obrazów WMZ – Python

from aspose.imaging import Image, RasterImage, DitheringMethod, IMultipageImage
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 floyd_steinberg_dithering():
filter_images(lambda image: image.dither(DitheringMethod.FLOYD_STEINBERG_DITHERING, 4), "floydsteinbergdithering")
def threshold_dithering():
filter_images(lambda image: image.dither(DitheringMethod.THRESHOLD_DITHERING, 4), "thresholddithering")
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:
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
for_first_step = True
page_index = 0
for page in multi_page.pages:
file_name = os.path.join(
templates_folder,
f"{filter_name}_page{page_index}_{format_ext}.png")
page.save(file_name, PngOptions())
delete_file(file_name)
page_index += 1
else:
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, f"rasterized.{format_ext}.png")
with Image.load(input_file) as image:
image.save(output_file, PngOptions())
return output_file
# run
floyd_steinberg_dithering()
threshold_dithering()
 
  • Informacje o Aspose.Imaging dla Python API

    Aspose.Imaging API to rozwiązanie do przetwarzania obrazów do tworzenia, modyfikowania, rysowania lub konwertowania obrazów (zdjęć) w aplikacjach. Oferuje: wieloplatformowe przetwarzanie obrazu, w tym między innymi konwersje między różnymi formatami obrazu (w tym jednolite przetwarzanie obrazu wielostronicowego lub wieloklatkowego), modyfikacje takie jak rysowanie, praca z prymitywami graficznymi, przekształcenia (zmiana rozmiaru, przycinanie, odwracanie i obracanie , binaryzacja, skala szarości, dostosowanie), zaawansowane funkcje manipulacji obrazem (filtrowanie, dithering, maskowanie, prostowanie) oraz strategie optymalizacji pamięci. Jest to samodzielna biblioteka i nie zależy od żadnego oprogramowania do obsługi obrazów. W projektach można łatwo dodać wysokowydajne funkcje konwersji obrazów za pomocą natywnych interfejsów API. Są to w 100% prywatne lokalne interfejsy API, a obrazy są przetwarzane na Twoich serwerach.

    Dither WMZs przez aplikację online

    Zmieszaj dokumenty w formacie WMZ, odwiedzając naszą witrynę demonstracyjną na żywo . Demo na żywo ma następujące zalety

      Nie musisz niczego pobierać ani konfigurować
      Nie musisz pisać żadnego kodu
      Po prostu prześlij swoje pliki w formacie WMZ i naciśnij przycisk "Dither now"
      Natychmiast uzyskaj link do pobrania pliku wynikowego

    WMZ Co jest WMZ Format pliku

    WMZ to rozszerzenie pliku dla formatu pliku skóry w/dla/używanego przez Windows Media Player. Plik WMZ to w zasadzie spakowany plik WMF w formacie XML.

    Czytaj więcej

    Inne obsługiwane formaty ditheringu

    Używając Python, można łatwo roztrząsać różne formaty, w tym.

    APNG (Animowana przenośna grafika sieciowa)
    BMP (Obraz bitmapowy)
    ICO (Ikona Windows)
    JPG (Wspólna Grupa Ekspertów Fotograficznych)
    JPEG (Wspólna Grupa Ekspertów Fotograficznych)
    DIB (Mapa bitowa niezależna od urządzenia)
    DICOM (Obrazowanie cyfrowe i komunikacja)
    DJVU (Format graficzny)
    DNG (Obraz z aparatu cyfrowego)
    EMF (Ulepszony format metapliku)
    EMZ (Rozszerzony metaplik skompresowany w systemie Windows)
    GIF (Graficzny format wymiany)
    JP2 (JPEG 2000)
    J2K (Skompresowany obraz falkowy)
    PNG (Przenośna Grafika Sieciowa)
    TIFF (Oznaczony format obrazu)
    TIF (Oznaczony format obrazu)
    WEBP (Obraz rastrowy w sieci Web)
    WMF (Metaplik Microsoft Windows)
    TGA (Targa grafika)
    SVG (Skalowalna Grafika wektorowa)
    EPS (Enkapsulowany język PostScript)
    CDR (Obraz rysunku wektorowego)
    CMX (Obraz wymiany firmy Corel)
    OTG (Standard OpenDocument)
    ODG (Apache OpenOffice Draw format)