PPTX DOCX XLSX PDF ODP
Aspose.Imaging  för Python
ICO

Använd Python för ICO-bildraskning

Skapa Python-appar för att rasta ICO-bilder och foton via server-API:er

Hur man ditherar ICO bilder och foton med Python

Att förbättra bild- och fotoparametrar för en webbplats påverkar webbtrafiken avsevärt. Bland dessa optimeringar minskar en bilds färgpalett effektivt filstorlekarna och påskyndar sidladdningen. Ändå, för att förhindra plötsliga kanter eller störningar i färggradienter, rekommenderas att använda vibreringsmetoden. Denna teknik hjälper till att förfina färgövergångar och förbättra den övergripande bildkvaliteten. Det introducerar ett litet “brus” som positivt påverkar bilduppfattningen. För rasterbilder i formatet ICO tillämpar vi Aspose.Imaging for Python via .NET API som är ett funktionsrikt, kraftfullt och lättanvänt API för bildmanipulation och konvertering för Python-plattformen. Du kan installera det med följande kommando från ditt systemkommando.

Systemets kommandorad

>> pip install aspose-imaging-python-net

Steg för att dithera ICO via Python

Du behöver aspose-imaging-python-net för att prova följande arbetsflöde i din egen miljö.

  • Ladda ICO-filer med Image.Load-metoden
  • Dither-bilder;
  • Spara komprimerad bild på skiva i det format som stöds av Aspose.Imaging

Systemkrav

Aspose.Imaging för Python stöds på alla större operativsystem. Se bara till att du har följande förutsättningar.

  • Microsoft Windows / Linux med .NET Core Runtime.
  • Python och PyPi pakethanterare.
 

Dither ICO-bilder - 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()
 
  • Om Aspose.Imaging för Python API

    Aspose.Imaging API är en bildbehandlingslösning för att skapa, modifiera, rita eller konvertera bilder (foton) i applikationer. Det erbjuder: plattformsoberoende bildbehandling, inklusive men inte begränsat till konverteringar mellan olika bildformat (inklusive enhetlig bildbehandling med flera sidor eller flera ramar), modifieringar som ritning, arbete med grafiska primitiver, transformationer (ändra storlek, beskära, vänd och rotera , binarisering, gråskala, justera), avancerade bildmanipuleringsfunktioner (filtrering, vibrering, maskering, avskedning) och minnesoptimeringsstrategier. Det är ett fristående bibliotek och är inte beroende av någon programvara för bildoperationer. Man kan enkelt lägga till högpresterande bildkonverteringsfunktioner med inbyggda API:er inom projekt. Dessa är 100 % privata API:er på plats och bilder bearbetas på dina servrar.

    Dithera ICO via onlineappen

    Dithera ICO-dokument genom att besöka vår Live Demos-webbplats . Livedemon har följande fördelar

      Du behöver inte ladda ner eller ställa in någonting
      Du behöver inte skriva någon kod
      Ladda bara upp dina ICO-filer och tryck på knappen vibrera.
      Skaffa omedelbart nedladdningslänken för den resulterande filen

    ICO Vad är ICO Filformat

    ICO-filformatet är ett bildfilformat för datorikoner i Microsoft Windows. ICO-filer innehåller en eller flera små bilder i flera storlekar och färgdjup, så att de kan skalas på lämpligt sätt. I Windows måste alla körbara filer som visar en ikon för användaren, på skrivbordet, i Start-menyn eller i Utforskaren i Windows, bära ikonen i ICO-format.

    Läs mer

    Andra stödda dither-format

    Med hjälp av Python kan man enkelt rasta olika format inklusive.

    APNG (Animerad bärbar nätverksgrafik)
    BMP (Bitmap bild)
    JPG (Förenade Fotografers Expert Grupp)
    JPEG (Förenade Fotografers Expert Grupp)
    DIB (Enhetsoberoende bitmapp)
    DICOM (Digital bildbehandling och kommunikation)
    DJVU (Grafikformat)
    DNG (Digitalkamerabild)
    EMF (Förbättrat metafilformat)
    EMZ (Windows komprimerad förbättrad metafil)
    GIF (Grafiskt utbytesformat)
    JP2 (JPEG 2000)
    J2K (Wavelet komprimerad bild)
    PNG (Bärbar nätverksgrafik)
    TIFF (Taggad bildformat)
    TIF (Taggad bildformat)
    WEBP (Raster webbbild)
    WMF (Microsoft Windows metafil)
    WMZ (Komprimerat Windows Media Player-skal)
    TGA (Targa grafik)
    SVG (Skalbar vektorgrafik)
    EPS (Inkapslat PostScript-språk)
    CDR (Vektor Ritning Bild)
    CMX (Corel Exchange-bild)
    OTG (OpenDocument Standard)
    ODG (Apache OpenOffice ritformat)