Packages

 

com.aspose.imaging

Interfaces

Classes

Exceptions

com.aspose.imaging

Class VectorImage

  • All Implemented Interfaces:
    IObjectWithSizeF, IObjectWithBounds, com.aspose.internal.progressmanagement.IProgressEventHandler, com.aspose.internal.progressmanagement.IProgressInformer, com.aspose.ms.System.IDisposable, Closeable, AutoCloseable
    Direct Known Subclasses:
    CdrImagePage, CmxImagePage, EpsImage, MetaImage, SvgImage, VectorMultipageImage


    public abstract class VectorImage
    extends Image
    implements IObjectWithSizeF

    The vector image is the base class for all type of vector images.

    See Also:
    Image, IObjectWithSizeF
    Code example:

    The following example shows how to export a multipage vector image to another format in general way without referencing to a particular image type.


    String dir = "C:\\aspose.imaging\\java\\misc\\ImagingReleaseQATester\\Tests\\testdata\\2548\\";
    String inputFilePath = dir + "Multipage.cdr";
    String outputFilePath = dir + "Multipage.cdr.tif";
    
    com.aspose.imaging.ImageOptionsBase exportOptions = new com.aspose.imaging.imageoptions.TiffOptions(com.aspose.imaging.fileformats.tiff.enums.TiffExpectedFormat.Default);
    
    try(com.aspose.imaging.Image image = com.aspose.imaging.Image.load(inputFilePath))
    {
        exportOptions.setMultiPageOptions(null);
    
        // Export only first two pages
        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

      • VectorImage

        public VectorImage()
    • Method Detail

      • getSizeF

        public final SizeF getSizeF()

        Gets the object size, in inches.

        Specified by:
        getSizeF in interface IObjectWithSizeF
        Returns:
        the object size, in inches.
      • getWidthF

        public float getWidthF()

        Gets the object width, in inches.

        Specified by:
        getWidthF in interface IObjectWithSizeF
        Returns:
        the object width, in inches.
      • getHeightF

        public float getHeightF()

        Gets the object height, in inches.

        Specified by:
        getHeightF in interface IObjectWithSizeF
        Returns:
        the object height, in inches.
      • getEmbeddedImages

        public EmbeddedImage[] getEmbeddedImages()

        Gets the embedded images.

        Returns:
        Array of images
        Code example:

        Support extracting embedded raster images from a vector image


        String inputFileName = "test.cdr";
        try (Image image = com.aspose.imaging.Image.load(inputFileName))
        {
            com.aspose.imaging.VectorImage vectorImage = ((com.aspose.imaging.VectorImage) image);
            EmbeddedImage[] images = vectorImage.getEmbeddedImages();
            for (int i = 0; i < images.length; i++)
            {
                String outFileName = String.format("image%d.png", i++);
                try
                {
                    images[i].getImage().save(outFileName, new PngOptions());
                }
                finally
                {
                    images[i].close();
                }
            }
        }