Python 언어를 통한 이미지 파일 변환

이미지, 메타파일 등을 변환하여 Python 이미지 처리 애플리케이션을 구축합니다.

 

.NET API를 통한 Python용 Aspose.Imaging에는 프로그래머를 위한 다양한 이미지 처리 기능이 포함되어 있습니다. 프로그래머는 이를 소스 코드에서 사용하여 사진 및 그림과 같은 래스터 및 벡터 이미지를 PSD, PDF, APNG, BMP, TIFF, GIF, PNG, DICOM, HTML5 CANVAS, WEBP, WMF, EMF, SVG, JPG, JPEG2000으로 변환할 수 있습니다. 및 기타 이미지 형식. API에는 변환 기능뿐만 아니라 다양한 필터, 그래픽 처리, 메모리 전략, 자르기, 크기 조정, 조정 및 기타 사용되는 작업이 포함되어 있습니다.

이미지를 BMP, JPG, PNG로 변환하는 방법

.NET API를 통해 Aspose.Imaging for Python을 사용하면 교차 형식 변환이 쉽게 처리됩니다. 다음은 이미지를 bmp로, 이미지를 jpg로, 이미지를 png로와 같은 몇 가지 일반적인 예입니다. 프로세스는 Image.Load 를 사용하여 이미지를 로드하는 것입니다. 지정된 설정으로 선택한 이미지 형식 옵션 의 개체를 만듭니다. 마지막에 Save Method 를 호출합니다.

이미지 변환을 처리하는 Python 코드

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()

래스터 이미지를 PDF 문서로 변환하는 방법

래스터 이미지를 PDF로 변환하는 과정은 API가 특정 PDF에 대해 PdfOptions 를 제공한다는 점을 제외하면 이미지의 교차 변환과 동일합니다. 설정.

래스터 이미지를 PDF로 변환하는 Python 소스 코드

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)

SVG 이미지를 래스터 BMP, PNG, JPG로 변환하는 방법

SVG 이미지의 변환은 동일하며, SVG 이미지를 로드하고, 필요한 이미지 저장 옵션을 사용하고, Save 메서드를 호출합니다. 이미지 API는 PageWidth, PageHeight 및 래스터 이미지를 설정하기 위한 SvgRasterizationOptions 를 제공하며 초기화 및 SvgRasterizationOptions 옵션 가져오기에 VectorRasterizationOptions 속성을 사용합니다.

SVG 이미지 래스터 이미지를 변환하는 Python 코드

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)

Python 언어를 사용하여 변환할 지원되는 모든 이미지 형식

다음은 변환할 수 있는 이미지 형식의 전체 목록입니다.


Python 언어를 사용하여 변환할 지원되는 모든 이미지 형식

다음은 .NET을 통해 Python용 Aspose.Imaging을 사용하여 변환할 수 있는 이미지 형식의 전체 목록입니다.