SvgOptions
Inheritance: java.lang.Object, com.aspose.imaging.DisposableObject, com.aspose.imaging.ImageOptionsBase
All Implemented Interfaces: com.aspose.fileformats.core.imageoptions.ICompressOptions
public class SvgOptions extends ImageOptionsBase implements ICompressOptions
使用我们的 API 创建标量矢量图形(SVG)图像文件,利用多种颜色类型和压缩级别选项。精准地自定义您的 SVG 图像,确保最佳质量和兼容性,以满足您的设计需求。
构造函数
| 构造函数 | 描述 |
|---|---|
| SvgOptions() |
方法
| 方法 | 描述 |
|---|---|
| getColorType() | 获取或设置 SVG 图像的颜色类型。 |
| setColorType(int value) | 获取或设置 SVG 图像的颜色类型。 |
| getTextAsShapes() | 获取一个值,指示文本是否必须呈现为形状。 |
| setTextAsShapes(boolean value) | 设置一个值,指示文本是否必须呈现为形状。 |
| getCallback() | 获取 SvgImage 的嵌入资源(如字体、嵌套光栅)的存储策略。 |
| setCallback(ISvgResourceKeeperCallback value) | 设置 SvgImage 的嵌入资源(如字体、嵌套光栅)的存储策略。 |
| getCompress() | 获取一个值,指示输出图像是否必须压缩。 |
| setCompress(boolean value) | 设置一个值,指示输出图像是否必须压缩。 |
Example: The following example shows how to convert a multipage vector image to SVG format in general way without referencing to a particular image type.
String dir = "C:\\aspose.imaging\\net\\misc\\ImagingReleaseQATester\\Tests\\testdata\\2548";
String inputFilePath = (dir + "Multipage.cdr");
String outputFilePath = (dir + "Multipage.cdr.svg");
com.aspose.imaging.ImageOptionsBase exportOptions = new com.aspose.imaging.imageoptions.SvgOptions();
try (com.aspose.imaging.Image image = com.aspose.imaging.Image.load(inputFilePath))
{
exportOptions.setMultiPageOptions(null);
// 仅导出前两页。实际上,由于 SVG 不是多页格式,只会转换一页。
com.aspose.imaging.IMultipageImage multipageImage = (image instanceof com.aspose.imaging.IMultipageImage) ? (com.aspose.imaging.IMultipageImage) image : null;
if (multipageImage != null && (multipageImage.getPages() != null && multipageImage.getPageCount() > 2))
{
exportOptions.setMultiPageOptions(new com.aspose.imaging.imageoptions.MultiPageOptions(new com.aspose.imaging.IntRange(0, 2)));
}
if (image instanceof com.aspose.imaging.VectorImage)
{
com.aspose.imaging.imageoptions.VectorRasterizationOptions defaultOptions = (com.aspose.imaging.imageoptions.VectorRasterizationOptions) image.getDefaultOptions(new Object[]{Color.getWhite(), image.getWidth(), image.getHeight()});
exportOptions.setVectorRasterizationOptions(defaultOptions);
defaultOptions.setTextRenderingHint(com.aspose.imaging.TextRenderingHint.SingleBitPerPixel);
defaultOptions.setSmoothingMode(com.aspose.imaging.SmoothingMode.None);
}
image.save(outputFilePath, exportOptions);
}
Example: The following example shows how to convert a svgz images to svg format
String file = "example.svgz";
String baseFolder = "D:\\Compressed\\";
String inputFile = baseFolder + file;
String outFile = inputFile + ".svg";
try (com.aspose.imaging.Image image = com.aspose.imaging.Image.load(inputFile))
{
com.aspose.imaging.imageoptions.VectorRasterizationOptions vectorRasterizationOptions = new com.aspose.imaging.imageoptions.SvgRasterizationOptions();
vectorRasterizationOptions.setPageSize(com.aspose.imaging.Size.to_SizeF(image.getSize()));
com.aspose.imaging.imageoptions.SvgOptions options = new com.aspose.imaging.imageoptions.SvgOptions();
options.setVectorRasterizationOptions(vectorRasterizationOptions);
image.save(outFile, options);
}
Example: The following example shows how to convert a svg images to svgz format
String file = "juanmontoya_lingerie.svg";
String baseFolder = "D:\\Compressed\\";
String inputFile = baseFolder + file;
String outFile = inputFile + ".svgz";
try (com.aspose.imaging.Image image = com.aspose.imaging.Image.load(inputFile))
{
com.aspose.imaging.imageoptions.VectorRasterizationOptions vectorRasterizationOptions = new com.aspose.imaging.imageoptions.SvgRasterizationOptions();
vectorRasterizationOptions.setPageSize(com.aspose.imaging.Size.to_SizeF(image.getSize()));
com.aspose.imaging.imageoptions.SvgOptions options = new com.aspose.imaging.imageoptions.SvgOptions();
options.setVectorRasterizationOptions(vectorRasterizationOptions);
options.setCompress(true);
image.save(outFile, options);
}
SvgOptions()
public SvgOptions()
getColorType()
public int getColorType()
获取或设置 SVG 图像的颜色类型。
Returns: int - SVG 图像的颜色类型。
setColorType(int value)
public void setColorType(int value)
获取或设置 SVG 图像的颜色类型。
Parameters:
| 参数 | 类型 | 描述 |
|---|---|---|
| value | int | SVG 图像的颜色类型。 |
getTextAsShapes()
public boolean getTextAsShapes()
获取一个值,指示文本是否必须呈现为形状。
值:如果在转换中所有文本都被转换为 SVG 形状,则为 true;否则为 false。
Returns: boolean - 一个指示文本是否必须呈现为形状的值。
setTextAsShapes(boolean value)
public void setTextAsShapes(boolean value)
设置一个值,指示文本是否必须呈现为形状。
值:如果在转换中所有文本都被转换为 SVG 形状,则为 true;否则为 false。
Parameters:
| 参数 | 类型 | 描述 |
|---|---|---|
| value | boolean | 一个指示文本是否必须呈现为形状的值。 |
Example: This example shows how to load a WMF image from a file and convert it to SVG using WmfRasterizationOptions.
String dir = "c:\\temp\\";
// 使用 Aspose.Imaging.Image.Load 是加载包括 WMF 在内的所有类型图像的统一方式。
try (com.aspose.imaging.fileformats.wmf.WmfImage wmfImage = (com.aspose.imaging.fileformats.wmf.WmfImage)com.aspose.imaging.Image.load(dir + "test.wmf"))
{
com.aspose.imaging.imageoptions.SvgOptions saveOptions = new com.aspose.imaging.imageoptions.SvgOptions();
// 文本将被转换为形状。
saveOptions.setTextAsShapes(true);
com.aspose.imaging.imageoptions.WmfRasterizationOptions rasterizationOptions = new com.aspose.imaging.imageoptions.WmfRasterizationOptions();
// 绘图表面的背景颜色。
rasterizationOptions.setBackgroundColor(com.aspose.imaging.Color.getWhiteSmoke());
// 页面尺寸。
rasterizationOptions.setPageSize(Size.to_SizeF(wmfImage.getSize()));
// 如果存在嵌入的 emf,则渲染 emf;否则渲染 wmf。
rasterizationOptions.setRenderMode(com.aspose.imaging.fileformats.wmf.WmfRenderMode.Auto);
saveOptions.setVectorRasterizationOptions(rasterizationOptions);
wmfImage.save(dir + "test.output.svg", saveOptions);
}
Example: This example shows how to load a EMF image from a file and convert it to SVG using EmfRasterizationOptions.
String dir = "c:\\temp\\";
// 使用 Aspose.Imaging.Image.Load 是加载包括 EMF 在内的所有类型图像的统一方式。
com.aspose.imaging.fileformats.emf.EmfImage emfImage = (com.aspose.imaging.fileformats.emf.EmfImage) com.aspose.imaging.Image.load(dir + "test.emf");
try {
com.aspose.imaging.imageoptions.SvgOptions saveOptions = new com.aspose.imaging.imageoptions.SvgOptions();
// 文本将被转换为形状。
saveOptions.setTextAsShapes(true);
com.aspose.imaging.imageoptions.EmfRasterizationOptions rasterizationOptions = new com.aspose.imaging.imageoptions.EmfRasterizationOptions();
// 绘图表面的背景颜色。
rasterizationOptions.setBackgroundColor(com.aspose.imaging.Color.getWhiteSmoke());
// 页面尺寸。
rasterizationOptions.setPageSize(new com.aspose.imaging.SizeF(emfImage.getWidth(), emfImage.getHeight()));
// 如果存在嵌入的 emf,则渲染 emf;否则渲染 wmf。
rasterizationOptions.setRenderMode(com.aspose.imaging.fileformats.emf.EmfRenderMode.Auto);
// 设置水平边距
rasterizationOptions.setBorderX(50);
// 设置垂直边距
rasterizationOptions.setBorderY(50);
saveOptions.setVectorRasterizationOptions(rasterizationOptions);
emfImage.save(dir + "test.output.svg", saveOptions);
} finally {
emfImage.dispose();
}
getCallback()
public ISvgResourceKeeperCallback getCallback()
获取 SvgImage 的嵌入资源(如字体、嵌套光栅)的存储策略。
Returns: ISvgResourceKeeperCallback - the storing strategy for embedded resources of SvgImage such as fonts, nested rasters.
setCallback(ISvgResourceKeeperCallback value)
public void setCallback(ISvgResourceKeeperCallback value)
设置 SvgImage 的嵌入资源(如字体、嵌套光栅)的存储策略。
Parameters:
| 参数 | 类型 | 描述 |
|---|---|---|
| value | ISvgResourceKeeperCallback | SvgImage 的嵌入资源(如字体、嵌套光栅)的存储策略。 |
getCompress()
public final boolean getCompress()
获取一个值,指示输出图像是否必须压缩。
Returns: boolean - 一个指示输出图像是否必须压缩的值。
setCompress(boolean value)
public final void setCompress(boolean value)
设置一个值,指示输出图像是否必须压缩。
Parameters:
| 参数 | 类型 | 描述 |
|---|---|---|
| value | boolean | 一个指示输出图像是否必须压缩的值。 |
Example: The following example shows how to convert a svg images to svgz format
String file = "juanmontoya_lingerie.svg";
String baseFolder = "D:\\Compressed\\";
String inputFile = baseFolder + file;
String outFile = inputFile + ".svgz";
try (com.aspose.imaging.Image image = com.aspose.imaging.Image.load(inputFile))
{
com.aspose.imaging.imageoptions.VectorRasterizationOptions vectorRasterizationOptions = new com.aspose.imaging.imageoptions.SvgRasterizationOptions();
vectorRasterizationOptions.setPageSize(com.aspose.imaging.Size.to_SizeF(image.getSize()));
com.aspose.imaging.imageoptions.SvgOptions options = new com.aspose.imaging.imageoptions.SvgOptions();
options.setVectorRasterizationOptions(vectorRasterizationOptions);
options.setCompress(true);
image.save(outFile, options);
}