HTML JPG PDF XML APNG
Aspose.Imaging  对于 Python
DICOM

使用 Python 进行 SVG 到 DICOM 图像转换

创建 Python 应用程序以通过服务器 API 将 SVG 转换为 DICOM 图像和照片

如何使用 Python 将 SVG 转换为 DICOM 图像和照片

图像文件从一种格式转换为另一种格式是每个图形设计师遇到的常见任务。文件转换的效率和卓越性不仅影响完成速度,而且对评估整体工作质量也起着至关重要的作用。关于图像源,它们经常需要转换为更适合打印或在线分发的替代格式。在图形编辑器中制作的图像可能是矢量格式。在这种情况下,为了网站发布,必须对其进行光栅化并以光栅格式保存。您可以选择将图像转换为未压缩格式以获得卓越的质量,或将其保存为无损压缩格式以最小化文件大小。对于必须减小文件大小的情况(例如在网站应用程序中),可以转换为有损压缩格式。专门的图像数据压缩算法可以显着减小文件大小,同时保持可接受的图像质量,确保快速图像加载。要将图像和照片从 SVG 转换为 DICOM,我们将使用 Aspose.Imaging for Python via .NET API 是一个功能丰富、功能强大且易于使用的图像处理和转换 API,适用于 Python 平台。您可以使用系统命令中的以下命令安装它。

系统命令行

>> pip install aspose-imaging-python-net

通过 Python 将 SVG 转换为 DICOM 的步骤

开发人员只需几行代码即可轻松加载 SVG 文件并将其转换为 DICOM。

  • 使用 Image.Load 方法加载 SVG 文件
  • 创建和设置 ImageOptionsBase 所需子类的实例(例如 BmpOptions、PngOptions 等)
  • 调用 Image.Save 方法
  • 传递带有 DICOM 扩展名的文件路径和 ImageOptionsBase 类的对象

系统要求

在运行转换示例代码之前,请确保您具有以下先决条件。

  • 操作系统:Windows 或Linux。
  • 开发环境:支持.NET Core 7及更高版本,例如Microsoft Visual Studio。

将 SVG 转换为 DICOM 的免费应用程序

  • 选择或拖放 SVG 图像
  • 选择格式并单击转换按钮
  • 点击下载按钮下载 DICOM 图像
*上传您的文件或使用我们的服务即表示您同意我们的服务条款隐私政策

查看我们的 将 SVG 转换为 DICOM 的现场演示

将 SVG 转换为 DICOM - 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()

SVG 什么是 SVG 文件格式

SVG 文件是使用基于 XML 的文本格式来描述图像外观的可缩放矢量图形文件。 Scalable 这个词指的是 SVG 可以缩放到不同的大小而不会损失任何质量。此类文件的基于文本的描述使它们独立于分辨率。它是用于构建网站和打印图形以实现可扩展性的最常用格式之一。该格式只能用于二维图形。 SVG 文件可以在几乎所有现代浏览器中查看/打开,包括 Chrome、Internet Explorer、Firefox 和 Safari。

阅读更多 | SVG

DICOM 什么是 DICOM 文件格式

DICOM 是 Digital Imaging and Communications in Medicine 的首字母缩写词,属于医学信息学领域。 DICOM 是文件格式定义和网络通信协议的结合。 DICOM 使用 .DCM 扩展名。 .DCM 以两种不同的格式存在,即格式 1.x 和格式 2.x。 DCM Format 1.x 还提供了两个普通版本和扩展版本。 DICOM 用于集成来自不同供应商的打印机、服务器、扫描仪等医疗成像设备,还包含每个患者的唯一识别数据。如果 DICOM 文件能够接收 DICOM 格式的图像数据,则它们可以在两方之间共享。 DICOM的通信部分是应用层协议,实体之间使用TCP/IP进行通信。 HTTP 和 HTTPS 协议用于 DICOM 的 Web 服务。 Web 服务支持的版本是 1.0、1.1、2 或更高版本。

阅读更多 | DICOM

其他支持的转换

使用 Python,可以轻松转换不同的格式,包括。

BMP (位图图片)
GIF (图形交换格式)
DICOM (数码影像与通讯)
EMF (增强的元文件格式)
JPG (联合摄影专家组)
JPEG (联合摄影专家组)
JP2 (JPEG 2000)
J2K (小波压缩图像)
JPEG2000 (JPEG 2000)
PNG (便携式网络图形)
APNG (动画便携式网络图形)
PSD (Photoshop 文档)
DXF (图纸交换格式,或图纸交换格式,)
TIFF (标记图像格式)
WEBP (光栅 Web 图像)
WMF (微软视窗元文件)
PDF (便携式文档格式 (PDF))
HTML (HTML5 画布)
EMZ (Windows 压缩增强元文件)
WMZ (压缩的 Windows Media Player 皮肤)
TGA (塔加图形)
SVGZ (可缩放矢量图形 (.SVG) 文件的压缩版本。)
CANVAS (HTML5 画布)
SVG (可缩放矢量图形)
ICO (窗口图标)