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:

参数类型描述
valueintSVG 图像的颜色类型。

getTextAsShapes()

public boolean getTextAsShapes()

获取一个值,指示文本是否必须呈现为形状。

值:如果在转换中所有文本都被转换为 SVG 形状,则为 true;否则为 false

Returns: boolean - 一个指示文本是否必须呈现为形状的值。

setTextAsShapes(boolean value)

public void setTextAsShapes(boolean value)

设置一个值,指示文本是否必须呈现为形状。

值:如果在转换中所有文本都被转换为 SVG 形状,则为 true;否则为 false

Parameters:

参数类型描述
valueboolean一个指示文本是否必须呈现为形状的值。

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:

参数类型描述
valueISvgResourceKeeperCallbackSvgImage 的嵌入资源(如字体、嵌套光栅)的存储策略。

getCompress()

public final boolean getCompress()

获取一个值,指示输出图像是否必须压缩。

Returns: boolean - 一个指示输出图像是否必须压缩的值。

setCompress(boolean value)

public final void setCompress(boolean value)

设置一个值,指示输出图像是否必须压缩。

Parameters:

参数类型描述
valueboolean一个指示输出图像是否必须压缩的值。

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);
}