Analyzing your prompt, please hold on...
An error occurred while retrieving the results. Please refresh the page and try again.
Quick Answer: 要在 Python 中将 SVG 转换为 JPG,请用
SVGDocument 加载源文件,创建
ImageSaveOptions,设置
options.format = ImageFormat.JPEG,然后调用
Converter.convert_svg(document, options, output_path)。由于 JPG 不支持透明度,请设置背景颜色。
当需要紧凑的栅格预览、缩略图、报表图像或 Web 资源,并且不需要透明度时,JPG 很有用。如果 SVG 包含透明区域,请在转换前选择明确的背景颜色,否则最终背景可能取决于渲染器或查看工作流。
运行示例前,请在 Python 环境中 安装 Aspose.SVG for Python via .NET。
下面的示例加载 document.svg,选择 JPEG 输出,并将结果保存为 document.jpg。
1from aspose.svg import SVGDocument
2from aspose.svg.converters import Converter
3from aspose.svg.rendering.image import ImageFormat
4from aspose.svg.saving import ImageSaveOptions
5
6# Convert an SVG file to JPG
7options = ImageSaveOptions()
8options.format = ImageFormat.JPEG
9
10with SVGDocument("document.svg") as document:
11 Converter.convert_svg(document, options, "document.jpg")该示例使用 SVGDocument 加载源文件,用带 ImageFormat.JPEG 的 ImageSaveOptions 选择 JPG 输出,并用 Converter.convert_svg() 写入转换后的文件。
当 JPG 需要特定画布、背景或分辨率时使用 ImageSaveOptions。下面的示例设置浅色背景,创建带边距的 350 x 350 页面,并以 96 dpi 渲染。
1import os
2from aspose.svg import SVGDocument
3from aspose.svg.converters import Converter
4from aspose.svg.drawing import Margin, Page, Resolution, Size
5from aspose.svg.rendering.image import ImageFormat
6from aspose.svg.saving import ImageSaveOptions
7from aspose.pydrawing import Color
8
9# Convert SVG to JPG with custom background, page size, and resolution
10input_folder = "data/"
11output_folder = "output/"
12input_path = os.path.join(input_folder, "flower.svg")
13output_path = os.path.join(output_folder, "flower.jpg")
14os.makedirs(output_folder, exist_ok=True)
15
16options = ImageSaveOptions()
17options.format = ImageFormat.JPEG
18options.background_color = Color.from_argb(240, 240, 240)
19options.page_setup.any_page = Page(Size(350, 350), Margin(10, 10, 10, 10))
20options.horizontal_resolution = Resolution.from_dots_per_inch(96.0)
21options.vertical_resolution = Resolution.from_dots_per_inch(96.0)
22
23with SVGDocument(input_path) as document:
24 Converter.convert_svg(document, options, output_path)下图显示源 SVG 图像 (a) 和带自定义背景色的 JPG 转换结果 (b)。

| 属性 | 使用场景 |
|---|---|
| format | 使用 ImageFormat.JPEG 选择 JPEG 输出 |
| background_color | 保存为 JPG 前填充透明 SVG 区域 |
| page_setup | 设置页面尺寸、边距和画布布局 |
| horizontal_resolution | 设置水平输出分辨率,单位为 dpi |
| vertical_resolution | 设置垂直输出分辨率,单位为 dpi |
| smoothing_mode | 控制形状和边缘的栅格化质量 |
| 问题 | 可能原因 | 修复方法 |
|---|---|---|
| JPG 输出有黑色或意外背景 | 源 SVG 有透明区域,但 JPG 不能存储透明度 | 转换前设置 options.background_color |
| 图像为空或被裁剪 | SVG 没有可用 viewport,或输出页面小于可见内容 | 定义 SVG 的 width、height 或 viewBox,或配置 options.page_setup.any_page |
| 链接图像、CSS 或字体缺失 | 无法从当前输入路径解析相对资源 | 从原始文件路径加载 SVG,并将链接资源保留在预期的相对位置 |
| 文件扩展名和实际格式不匹配 | 未将 options.format 设为 ImageFormat.JPEG,或输出路径扩展名错误 | 设置 options.format = ImageFormat.JPEG,并保存为 .jpg 或 .jpeg |
| 线条、图标或文本有锯齿 | 输出尺寸或栅格分辨率低于目标显示尺寸 | 提高页面尺寸或分辨率,并在质量敏感输出中检查 smoothing_mode |
使用免费的在线 SVG to JPG Converter 在 Python 中实现相同工作流前测试输出。
使用 SVGDocument 加载 SVG,将 ImageSaveOptions.format 设置为 ImageFormat.JPEG,然后调用 Converter.convert_svg(document, options, output_path)。
不需要透明度且需要紧凑预览、缩略图或 Web 图像时使用 JPG。需要无损栅格输出或透明区域时使用 PNG。
不是。JPG 是栅格图像格式。转换后输出包含像素,而不是可编辑的 SVG 元素、路径或文本节点。
可以。使用 ImageFormat.JPEG,并根据工作流命名约定在输出文件名中选择 .jpg 或 .jpeg。
可以。从 URL、文件流或带有效 base URI 的 SVG 标记字符串创建 SVGDocument,然后将文档与 JPEG 图像选项一起传给 Converter.convert_svg()。
可以。遍历输入文件夹,复用同一个 ImageSaveOptions,并为每个 SVG 文件调用 Converter.convert_svg()。参见
批量转换 SVG 文件。
Analyzing your prompt, please hold on...
An error occurred while retrieving the results. Please refresh the page and try again.