Packages

 

com.aspose.imaging.imageoptions

Class SvgOptions

  • All Implemented Interfaces:
    com.aspose.fileformats.core.imageoptions.ICompressOptions, com.aspose.ms.System.IDisposable, Closeable, AutoCloseable


    public class SvgOptions
    extends ImageOptionsBase
    implements com.aspose.fileformats.core.imageoptions.ICompressOptions

    The SVG file format creation options.

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

    • Constructor Detail

      • SvgOptions

        public SvgOptions()
    • Method Detail

      • getColorType

        public int getColorType()

        Gets or sets the color type for SVG image.

        Returns:
        The type of the color of SVG image.
        See Also:
        SvgColorMode
      • setColorType

        public void setColorType(int value)

        Gets or sets the color type for SVG image.

        Parameters:
        value - The type of the color of SVG image.
        See Also:
        SvgColorMode
      • getTextAsShapes

        public boolean getTextAsShapes()

        Gets or sets a value indicating whether text must be converted as shapes.

        Returns:
        true if all text is turned into SVG shapes in the convertion; otherwise, false.
      • setTextAsShapes

        public void setTextAsShapes(boolean value)

        Gets or sets a value indicating whether text must be converted as shapes.

        Parameters:
        value - true if all text is turned into SVG shapes in the convertion; otherwise, false.
        Code 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 or sets the font store options.

        Returns:
        The font store options.
      • setCallback

        public void setCallback(ISvgResourceKeeperCallback value)

        Gets or sets the font store options.

        Parameters:
        value - The font store options.
      • getCompress

        public final boolean getCompress()

        Gets a value indicating whether this ##Aspose#FileFormats#Core#ImageOptions is compressed.

        Value: true if compressed; otherwise, false.
        Specified by:
        getCompress in interface com.aspose.fileformats.core.imageoptions.ICompressOptions
        Returns:
        a value indicating whether this ##Aspose#FileFormats#Core#ImageOptions is compressed.
      • setCompress

        public final void setCompress(boolean value)

        Sets a value indicating whether this ##Aspose#FileFormats#Core#ImageOptions is compressed.

        Value: true if compressed; otherwise, false.
        Specified by:
        setCompress in interface com.aspose.fileformats.core.imageoptions.ICompressOptions
        Parameters:
        value - a value indicating whether this ##Aspose#FileFormats#Core#ImageOptions is compressed.
        Code 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);
        }