Gebruik Python om afbeeldingen in grijstinten PNG te maken
Maak Python-apps om afbeeldingen en foto’s van PNG grijswaarden te maken via server-API’s
Afbeeldingen en foto's in PNG grijswaarden maken met Python
Heldere kleuren worden doorgaans geassocieerd als de essentie van prachtige foto’s. Maar wat als de mogelijkheid tot kleurenprinten geen optie is? In dergelijke scenario’s ontstaat de noodzaak om kleurenfoto’s om te zetten in grijstinten, en verrassend genoeg doet dit niet noodzakelijkerwijs afbreuk aan de impact ervan. Vaak is de conversie van full colour naar grijstinten een kunstzinnige techniek op zich, die de fascinatie van uw ontwerp vergroot. Het proces, gekoppeld aan de eliminatie van kleurinformatie, kan als uw medeplichtige fungeren, waardoor beelddetails worden geaccentueerd, de textuur van oppervlakken naar voren komt en een visuele symfonie tussen licht en schaduw wordt georkestreerd - waardoor een onderscheidend visueel effect ontstaat. Om PNG-afbeeldingen naar grijswaarden te converteren, gebruiken we 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 naar grijswaarden PNGs via Python
U hebt de aspose-imaging-python-net nodig om de volgende workflow in uw eigen omgeving uit te proberen.
- Laad PNG-bestanden met de methode Image.Load
- Grijswaardenafbeeldingen;
- 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.
Grijswaarden PNG afbeeldingen - 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() |
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.Grijswaarden PNGs via online app
Grayscale PNG-documenten door naar onze live demo-website te gaan. De live demo heeft de volgende voordelen:
PNG Wat is PNG Bestandsformaat
PNG, Portable Network Graphics, verwijst naar een type rasterafbeeldingsbestandsindeling die lossless compressie gebruikt. Dit bestandsformaat is gemaakt als vervanging van Graphics Interchange Format (GIF) en heeft geen copyrightbeperkingen. Het PNG-bestandsformaat ondersteunt echter geen animaties. Het PNG-bestandsformaat ondersteunt lossless beeldcompressie waardoor het populair is onder zijn gebruikers. Met het verstrijken van de tijd is PNG geëvolueerd als een van de meest gebruikte afbeeldingsbestandsindelingen. Bijna alle besturingssystemen hebben ondersteuning voor het openen van PNG-bestanden. Microsoft Windows-viewer heeft bijvoorbeeld de mogelijkheid om PNG-bestanden te openen, aangezien het besturingssysteem standaard de ondersteuning heeft die beschikbaar is als onderdeel van de installatie.
Lees verderAndere ondersteunde grijswaardenindelingen
Met behulp van Python kan men gemakkelijk verschillende formaten grijsschalen, waaronder.