Använd Python för att gråskala JPG-bilder
Skapa Python-appar för bilder och foton i gråskala JPG via server-API:er
Hur man gråskala JPG bilder och foton med Python
Ljusa färger förknippas vanligtvis som kärnan i fantastiska foton. Men vad händer om möjligheten till färgutskrift inte är ett alternativ? I sådana scenarier uppstår behovet av att övergå färgfoto till gråskala, och överraskande nog äventyrar detta inte nödvändigtvis dess effekt. Ofta är omvandlingen från fullfärg till gråskala en konstfull teknik i sig, som förstärker fascinationen av din design. Processen, i kombination med eliminering av färginformation, kan fungera som din medbrottsling, accentuera bilddetaljer, lyfta fram strukturen på ytor och orkestrera en visuell symfoni mellan ljus och skugga - vilket skapar en distinkt visuell effekt. För att konvertera JPG-bilder till gråskala kommer vi att använda 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 till gråskala JPGs via Python
Du behöver aspose-imaging-python-net för att prova följande arbetsflöde i din egen miljö.
- Ladda JPG-filer med Image.Load-metoden
- Gråskalebilder;
- 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.
Gråskala JPG bilder - Python
from aspose.imaging import RasterImage, Image, 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 grayscale_images(): | |
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}") | |
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"grayscale_{format_ext}.png") | |
print(f"Processing {format_ext}") | |
# explicit type casting from Image to RasterImage | |
with as_of(Image.load(input_file), RasterImage) as image: | |
# Additional code examples can be found at | |
# https://apireference.aspose.com/imaging/python-net/aspose.imaging/rasterimage/methods/grayscale | |
image.grayscale() | |
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"grayscale_page{page_index}_{format_ext}.png" | |
page.save(templates_folder + file_name, PngOptions()) | |
delete_file(templates_folder + 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 | |
grayscale_images() |
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.Gråskala JPG via onlineapp
Gråskala JPG-dokument genom att besöka vår webbplats för Live Demos . Livedemon har följande fördelar
JPG Vad är JPG Filformat
En JPEG är en typ av bildformat som sparas med metoden för förlustkomprimering. Utdatabilden, som ett resultat av komprimering, är en kompromiss mellan lagringsstorlek och bildkvalitet. Användare kan justera komprimeringsnivån för att uppnå önskad kvalitetsnivå samtidigt som lagringsstorleken minskas. Bildkvaliteten påverkas försumbart om 10:1-komprimering tillämpas på bilden. Ju högre komprimeringsvärde, desto högre försämring i bildkvalitet.
Läs merAndra gråskaleformat som stöds
Med Python kan man enkelt gråskala olika format inklusive.