Konwersja plików obrazów za pomocą języka Python
Konwertuj obrazy, metapliki i inne, aby tworzyć aplikacje do przetwarzania obrazów w języku Python.
Aspose.Imaging for Python via .NET API zawiera różne funkcje przetwarzania obrazu dla programistów. Programiści mogą go używać w kodzie źródłowym do konwersji obrazów rastrowych i wektorowych, takich jak zdjęcia i obrazy, do PSD, PDF, APNG, BMP, TIFF, GIF, PNG, DICOM, HTML5 CANVAS, WEBP, WMF, EMF, SVG, JPG, JPEG2000 i inne formaty obrazów. API zawiera nie tylko funkcje konwersji, ale także różne filtry, przetwarzanie grafiki, strategie pamięciowe, kadrowanie, zmianę rozmiaru, dopasowanie i inne używane operacje.
Jak przekonwertować obraz do formatu BMP, JPG, PNG
Używając Aspose.Imaging dla Pythona za pośrednictwem .NET API, konwersja między formatami jest łatwym procesem. Oto kilka typowych przykładów, takich jak obraz do bmp, obraz do jpg, obraz do png. Proces polega na załadowaniu obrazu za pomocą Image.Load . Utwórz obiekt z wybranymi opcjami formatu obrazu z określonymi ustawieniami. Na koniec wywołaj metodę Save Method .
Kod Pythona do przetwarzania konwersji obrazów
from aspose.imaging import * | |
from aspose.imaging.fileformats.tiff.enums import * | |
from aspose.imaging.fileformats.jpeg2000 import * | |
from aspose.imaging.fileformats.png import * | |
from aspose.imaging.imageoptions import * | |
from aspose.pycore import 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 | |
data_dir = templates_folder | |
def process_convertion(): | |
import_formats, export_formats = get_available_image_formats() | |
for import_key, import_value in import_formats.items(): | |
format_ext = import_key | |
input_file = os.path.join(templates_folder, f"template.{format_ext}") | |
if not os.path.exists(input_file): | |
continue | |
for export_key, export_value in export_formats.items(): | |
output_file = os.path.join(templates_folder, f"convert-{format_ext}-to-{export_key}.{export_key}") | |
print("Processing conversion:" + output_file) | |
with Image.load(input_file) as image: | |
export_options = export_value.clone() | |
if is_assignable(image, VectorImage): | |
rasterization_options = import_value | |
rasterization_options.page_width = float(image.width) | |
rasterization_options.page_height = float(image.height) | |
export_options.vector_rasterization_options = rasterization_options | |
image.save(output_file, export_options) | |
if delete_output: | |
os.remove(output_file) | |
def get_available_image_formats(): | |
obj_init = Jpeg2000Options() | |
obj_init.codec = Jpeg2000Codec.J2K | |
obj_init2 = Jpeg2000Options() | |
obj_init2.codec = Jpeg2000Codec.JP2 | |
obj_init3 = PngOptions() | |
obj_init3.color_type = PngColorType.TRUECOLOR_WITH_ALPHA | |
obj_init4 = {} | |
obj_init4["bmp"] = BmpOptions() | |
obj_init4["gif"] = GifOptions() | |
obj_init4["dicom"] = DicomOptions() | |
obj_init4["jpg"] = JpegOptions() | |
obj_init4["jpeg"] = JpegOptions() | |
obj_init4["jpeg2000"] = Jpeg2000Options() | |
obj_init4["j2k"] = obj_init | |
obj_init4["jp2"] = obj_init2 | |
obj_init4["png"] = obj_init3 | |
obj_init4["apng"] = ApngOptions() | |
obj_init4["tiff"] = TiffOptions(TiffExpectedFormat.DEFAULT) | |
obj_init4["tif"] = TiffOptions(TiffExpectedFormat.DEFAULT) | |
obj_init4["tga"] = TgaOptions() | |
obj_init4["webp"] = WebPOptions() | |
obj_init4["ico"] = IcoOptions(FileFormat.PNG, 24) | |
raster_formats_that_support_export_and_import = obj_init4 | |
obj_init5 = EmfOptions() | |
obj_init5.compress = True | |
obj_init6 = WmfOptions() | |
obj_init6.compress = True | |
obj_init7 = SvgOptions() | |
obj_init7.compress = True | |
obj_init8 = {} | |
obj_init8["emf"] = (EmfOptions(), EmfRasterizationOptions()) | |
obj_init8["svg"] = (SvgOptions(), SvgRasterizationOptions()) | |
obj_init8["wmf"] = (WmfOptions(), WmfRasterizationOptions()) | |
obj_init8["emz"] = (obj_init5, EmfRasterizationOptions()) | |
obj_init8["wmz"] = (obj_init6, WmfRasterizationOptions()) | |
obj_init8["svgz"] = (obj_init7, SvgRasterizationOptions()) | |
vector_formats_that_support_export_and_import = obj_init8 | |
obj_init9 = DxfOptions() | |
obj_init9.text_as_lines = True | |
obj_init9.convert_text_beziers = True | |
obj_init10 = {} | |
obj_init10["psd"] = PsdOptions() | |
obj_init10["dxf"] = obj_init9 | |
obj_init10["pdf"] = PdfOptions() | |
obj_init10["html"] = Html5CanvasOptions() | |
formats_only_for_export = obj_init10 | |
obj_init11 = {} | |
obj_init11["djvu"] = None | |
obj_init11["dng"] = None | |
obj_init11["dib"] = None | |
formats_only_for_import = obj_init11 | |
obj_init12 = {} | |
obj_init12["eps"] = EpsRasterizationOptions() | |
obj_init12["cdr"] = CdrRasterizationOptions() | |
obj_init12["cmx"] = CmxRasterizationOptions() | |
obj_init12["otg"] = OtgRasterizationOptions() | |
obj_init12["odg"] = OdgRasterizationOptions() | |
vector_formats_only_for_import = obj_init12 | |
# Get total set of formats to what we can export images | |
export_formats = {k: v[0] for k, v in vector_formats_that_support_export_and_import.items()} | |
export_formats.update(formats_only_for_export) | |
export_formats.update(raster_formats_that_support_export_and_import) | |
# Get total set of formats that can be loaded | |
import_formats = {k : VectorRasterizationOptions() for k in formats_only_for_import} | |
import_formats.update(vector_formats_only_for_import) | |
import_formats.update({k : v[1] for k, v in vector_formats_that_support_export_and_import.items()}) | |
return import_formats, export_formats | |
# run | |
process_convertion() |
Jak przekonwertować obraz rastrowy na dokument PDF
Proces konwersji obrazów rastrowych do formatu PDF jest taki sam, jak w przypadku konwersji krzyżowej obrazów, z wyjątkiem tego, że interfejs API zapewnia PdfOptions dla określonego pliku PDF ustawienia.
Kod źródłowy Pythona do konwersji obrazów rastrowych do formatu PDF
from aspose.imaging import Image | |
from aspose.imaging.fileformats.pdf import PdfDocumentInfo | |
from aspose.imaging.imageoptions import PdfOptions | |
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 | |
data_dir = templates_folder | |
output_file = os.path.join(data_dir, "output.pdf") | |
with Image.load(os.path.join(data_dir, "template.gif")) as image: | |
options = PdfOptions() | |
options.pdf_document_info = PdfDocumentInfo() | |
image.save(output_file, options); | |
# delete if necessary | |
if delete_output: | |
os.remove(output_file) |
Jak przekonwertować obraz SVG na Raster BMP, PNG, JPG
Konwersja obrazu SVG jest taka sama, Załaduj obraz SVG, Użyj potrzebnych opcji zapisu obrazu i wywołaj metodę Save. Image API udostępnia SvgRasterizationOptions do ustawiania PageWidth, PageHeight i obrazów rastrowych, które wykorzystują swoją właściwość VectorRasterizationOptions do inicjalizacji i uzyskiwania opcji SvgRasterizationOptions.
Kod Python do konwersji obrazów rastrowych SVG
from aspose.imaging import Image | |
from aspose.imaging.fileformats.svg import SvgImage | |
from aspose.imaging.imageoptions import PngOptions, SvgRasterizationOptions | |
import os | |
import aspose.pycore as aspycore | |
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 | |
data_dir = templates_folder | |
output_file = os.path.join(data_dir, "ConvertingSVGToRasterImages_out.png") | |
# Load the image and cast it as SvgImage | |
with aspycore.as_of(Image.load(os.path.join(data_dir, "template.svg")), SvgImage) as image: | |
# Create an instance of relevant raster image options and Save the results to disk | |
png_options = PngOptions(); | |
svg_options = SvgRasterizationOptions(); | |
svg_options.page_width = 100.0; | |
svg_options.page_height = 200.0; | |
png_options.vector_rasterization_options = svg_options; | |
image.save(output_file, png_options); | |
# delete if necessary | |
if delete_output: | |
os.remove(output_file) |
Wszystkie obsługiwane formaty obrazów do konwersji przy użyciu języka Python
Poniżej znajduje się pełna lista formatów graficznych, do których można dokonać konwersji:
Wszystkie obsługiwane formaty obrazów do konwersji na język Python
Poniżej znajduje się pełna lista formatów obrazów, z których można konwertować przy użyciu Aspose.Imaging for Python przez .NET: