Packages

 

com.aspose.imaging.fileformats.emf.emf.records

Classes

com.aspose.imaging.fileformats.emf.emf.records

Class EmfDeleteObject

  • All Implemented Interfaces:
    com.aspose.imaging_internal.fileformats.emf.IRecord, Cloneable


    public final class EmfDeleteObject
    extends EmfRecord

    The EMR_DELETEOBJECT record deletes a graphics object, which is specified by its index in the EMF Object Table(section 3.1.1.1).

    • Constructor Detail

      • EmfDeleteObject

        public EmfDeleteObject(EmfRecord record)

        Initializes a new instance of the EmfDeleteObject class.

        Parameters:
        record - The record.
      • EmfDeleteObject

        public EmfDeleteObject()

        Initializes a new instance of the EmfDeleteObject class.

        Code example:

        The following example shows how set the background color for EMF. It actually draws a rectangle of the background color before drawing all other objects.


        String baseFolder = "c:\\temp";
        
        // This is a helper class which does all real work.
        class Util {
            private void addBackgroundRectangleEmf(com.aspose.imaging.fileformats.emf.EmfImage image, com.aspose.imaging.Color color) {
                image.cacheData();
                com.aspose.imaging.fileformats.emf.MetaObjectList records = image.getRecords();
        
                if (records.size() < 1) {
                    return;
                }
        
                //Set Rectangle
                com.aspose.imaging.fileformats.emf.emf.records.EmfRectangle rectangle = new com.aspose.imaging.fileformats.emf.emf.records.EmfRectangle();
                rectangle.setBox(image.getHeader().getEmfHeader().getBounds());
        
                //Set Brush
                com.aspose.imaging.fileformats.emf.emf.records.EmfCreateBrushIndirect brush = new com.aspose.imaging.fileformats.emf.emf.records.EmfCreateBrushIndirect();
                brush.setLogBrush(new com.aspose.imaging.fileformats.emf.emf.objects.EmfLogBrushEx());
                brush.getLogBrush().setArgb32ColorRef(color.toArgb());
                brush.setIhBrush(1);
        
                //Select brush
                com.aspose.imaging.fileformats.emf.emf.records.EmfSelectObject selectObject = new com.aspose.imaging.fileformats.emf.emf.records.EmfSelectObject();
                selectObject.setObjectHandle(1);
        
                //Remove brush
                com.aspose.imaging.fileformats.emf.emf.records.EmfDeleteObject deleteObject = new com.aspose.imaging.fileformats.emf.emf.records.EmfDeleteObject();
                deleteObject.setObjectHandle(1);
        
                //Add records
                records.insertItem(1, brush);
                records.insertItem(2, selectObject);
                records.insertItem(3, rectangle);
                records.insertItem(4, deleteObject);
            }
        }
        
        // Here is the main example
        String[] files = new String[]{"image1.emf", "image2.wmf"};
        for (String fileName : files) {
            String inputFile = baseFolder + fileName;
            String outputFile = baseFolder + "Background_" + fileName;
            com.aspose.imaging.fileformats.emf.MetaImage image = (com.aspose.imaging.fileformats.emf.MetaImage) com.aspose.imaging.Image.load(inputFile);
            try {
                new Util().addBackgroundRectangleEmf((com.aspose.imaging.fileformats.emf.EmfImage) image, com.aspose.imaging.Color.getBlue());
                image.save(outputFile);
            } finally {
                image.close();
            }
        }
        

    • Method Detail

      • getObjectHandle

        public int getObjectHandle()

        Gets or sets 32-bit unsigned integer that specifies either the index of a graphics object in the EMF Object Table or the index of a stock object from the StockObject enumeration.

      • setObjectHandle

        public void setObjectHandle(int value)

        Gets or sets 32-bit unsigned integer that specifies either the index of a graphics object in the EMF Object Table or the index of a stock object from the StockObject enumeration.