Verwenden Sie Python zum Graustufen von PNG-Bildern
Erstellen Sie Python-Apps für Graustufen-PNG-Bilder und Fotos über Server-APIs
So skalieren Sie PNG-Bilder und Fotos mit Python in Graustufen
Leuchtende Farben werden oft als das Aushängeschild großartiger Fotos angesehen. Was aber, wenn die Möglichkeit des Farbdrucks keine Option ist? In solchen Szenarien besteht die Notwendigkeit, Farbfotos in Graustufen umzuwandeln, und überraschenderweise beeinträchtigt dies nicht unbedingt die Wirkung. Oftmals ist die Umwandlung von Vollfarbe in Graustufen eine kunstvolle Technik für sich, die die Faszination Ihres Designs steigert. In Verbindung mit der Eliminierung von Farbinformationen kann dieser Prozess als Ihr Komplize fungieren, Bilddetails hervorheben, die Textur von Oberflächen hervorheben und eine visuelle Symphonie zwischen Licht und Schatten inszenieren – und so einen unverwechselbaren visuellen Effekt erzeugen. Um PNG-Bilder in Graustufen zu konvertieren, verwenden wir Aspose.Imaging for Python via .NET API, eine funktionsreiche, leistungsstarke und benutzerfreundliche Bildbearbeitungs- und Konvertierungs-API für die Python-Plattform. Sie können es mit dem folgenden Befehl aus Ihrem Systembefehl installieren.
Die Systembefehlszeile
>> pip install aspose-imaging-python-net
Schritte zu Graustufen-PNGs über Python
Sie benötigen aspose-imaging-python-net , um den folgenden Workflow in Ihrer eigenen Umgebung auszuprobieren.
- Laden Sie PNG-Dateien mit der Image.Load-Methode
- Graustufenbilder;
- Speichern Sie komprimierte Bilder im von Aspose.Imaging unterstützten Format auf Disc
System Anforderungen
Aspose.Imaging für Python wird auf allen wichtigen Betriebssystemen unterstützt. Stellen Sie einfach sicher, dass Sie die folgenden Voraussetzungen erfüllen.
- Microsoft Windows / Linux mit .NET Core Runtime.
- Python- und PyPi-Paketmanager.
Graustufenbilder im PNG - 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() |
Über Aspose.Imaging für die Python-API
Aspose.Imaging API ist eine Bildverarbeitungslösung zum Erstellen, Ändern, Zeichnen oder Konvertieren von Bildern (Fotos) in Anwendungen. Es bietet: plattformübergreifende Bildverarbeitung, einschließlich, aber nicht beschränkt auf Konvertierungen zwischen verschiedenen Bildformaten (einschließlich einheitlicher Mehrseiten- oder Multiframe-Bildverarbeitung), Modifikationen wie Zeichnen, Arbeiten mit grafischen Grundelementen, Transformationen (Größe ändern, Zuschneiden, Spiegeln und Drehen , Binarisierung, Graustufen, Anpassen), erweiterte Bildbearbeitungsfunktionen (Filtern, Dithering, Maskieren, Entzerren) und Strategien zur Speicheroptimierung. Es ist eine eigenständige Bibliothek und hängt von keiner Software für Bildoperationen ab. Mit nativen APIs können innerhalb von Projekten problemlos hochleistungsfähige Bildkonvertierungsfunktionen hinzugefügt werden. Dies sind 100 % private lokale APIs und Bilder werden auf Ihren Servern verarbeitet.Graustufen PNGs über die Online-App
Graustufen-PNG-Dokumente, indem Sie unsere [Website für Live-Demos] ( https://products.aspose.app/imaging/image-grayscale ) besuchen. Die Live-Demo hat die folgenden Vorteile
PNG Was ist PNG Datei Format
PNG, Portable Network Graphics, bezieht sich auf eine Art Rasterbilddateiformat, das verlustfreie Komprimierung verwendet. Dieses Dateiformat wurde als Ersatz für das Graphics Interchange Format (GIF) erstellt und unterliegt keinen Urheberrechtsbeschränkungen. Das PNG-Dateiformat unterstützt jedoch keine Animationen. Das PNG-Dateiformat unterstützt die verlustfreie Bildkomprimierung, was es bei seinen Benutzern beliebt macht. Im Laufe der Zeit hat sich PNG zu einem der am häufigsten verwendeten Bilddateiformate entwickelt. Fast alle Betriebssysteme unterstützen das Öffnen von PNG-Dateien. Zum Beispiel hat der Microsoft Windows-Viewer die Fähigkeit, PNG-Dateien zu öffnen, da das Betriebssystem standardmäßig die Unterstützung bietet, die als Teil der Installation verfügbar ist.
WesenAndere unterstützte Graustufenformate
Mit Python kann man verschiedene Formate leicht graustufen, einschließlich.