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
Create Scalar Vector Graphics (SVG) image files with our API, utilizing versatile options for color types and compression levels. Seamlessly customize your SVG images with precision, ensuring optimal quality and compatibility for your design needs.
Constructors
Constructor | Description |
---|---|
SvgOptions() |
Methods
Method | Description |
---|---|
getColorType() | Gets or sets the color type for SVG image. |
setColorType(int value) | Gets or sets the color type for SVG image. |
getTextAsShapes() | Gets a value indicating whether text must be rendered as shapes. |
setTextAsShapes(boolean value) | Sets a value indicating whether text must be rendered as shapes. |
getCallback() | Gets the storing strategy for embedded resources of SvgImage such as fonts, nested rasters. |
setCallback(ISvgResourceKeeperCallback value) | Sets the storing strategy for embedded resources of SvgImage such as fonts, nested rasters. |
getCompress() | Gets a value indicating whether the output image must to be compressed. |
setCompress(boolean value) | Sets a value indicating whether the output image must to be compressed. |
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);
// Export only first two pages. In fact, only one page will be converted because SVG is not a multi-page format.
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()
Gets or sets the color type for SVG image.
Returns: int - The type of the color of SVG image.
setColorType(int value)
public void setColorType(int value)
Gets or sets the color type for SVG image.
Parameters:
Parameter | Type | Description |
---|---|---|
value | int | The type of the color of SVG image. |
getTextAsShapes()
public boolean getTextAsShapes()
Gets a value indicating whether text must be rendered as shapes.
Value: true
if all text is turned into SVG shapes in the conversion; otherwise, false
.
Returns: boolean - a value indicating whether text must be rendered as shapes.
setTextAsShapes(boolean value)
public void setTextAsShapes(boolean value)
Sets a value indicating whether text must be rendered as shapes.
Value: true
if all text is turned into SVG shapes in the conversion; otherwise, false
.
Parameters:
Parameter | Type | Description |
---|---|---|
value | boolean | a value indicating whether text must be rendered as shapes. |
Example: This example shows how to load a EMF image from a file and convert it to SVG using EmfRasterizationOptions.
String dir = "c:\\temp\\";
// Using Aspose.Imaging.Image.Load is a unified way to load all types of images including 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();
// Text will be converted to shapes.
saveOptions.setTextAsShapes(true);
com.aspose.imaging.imageoptions.EmfRasterizationOptions rasterizationOptions = new com.aspose.imaging.imageoptions.EmfRasterizationOptions();
// The background color of the drawing surface.
rasterizationOptions.setBackgroundColor(com.aspose.imaging.Color.getWhiteSmoke());
// The page size.
rasterizationOptions.setPageSize(new com.aspose.imaging.SizeF(emfImage.getWidth(), emfImage.getHeight()));
// If embedded emf exists, then render emf; otherwise render wmf.
rasterizationOptions.setRenderMode(com.aspose.imaging.fileformats.emf.EmfRenderMode.Auto);
// Set the horizontal margin
rasterizationOptions.setBorderX(50);
// Set the vertical margin
rasterizationOptions.setBorderY(50);
saveOptions.setVectorRasterizationOptions(rasterizationOptions);
emfImage.save(dir + "test.output.svg", saveOptions);
} finally {
emfImage.dispose();
}
getCallback()
public ISvgResourceKeeperCallback getCallback()
Gets the storing strategy for embedded resources of SvgImage such as fonts, nested rasters.
Returns: ISvgResourceKeeperCallback - the storing strategy for embedded resources of SvgImage such as fonts, nested rasters.
setCallback(ISvgResourceKeeperCallback value)
public void setCallback(ISvgResourceKeeperCallback value)
Sets the storing strategy for embedded resources of SvgImage such as fonts, nested rasters.
Parameters:
Parameter | Type | Description |
---|---|---|
value | ISvgResourceKeeperCallback | the storing strategy for embedded resources of SvgImage such as fonts, nested rasters. |
getCompress()
public final boolean getCompress()
Gets a value indicating whether the output image must to be compressed.
Returns: boolean - a value indicating whether the output image must be compressed.
setCompress(boolean value)
public final void setCompress(boolean value)
Sets a value indicating whether the output image must to be compressed.
Parameters:
Parameter | Type | Description |
---|---|---|
value | boolean | a value indicating whether the output image must be compressed. |
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);
}