public final class EmfSelectObject extends EmfRecord
The EMR_SELECTOBJECT record adds a graphics object to the current metafile playback device context. The object is specified either by its index in the EMF Object Table(section 3.1.1.1) or by its value from the StockObject enumeration(section 2.1.31).
Constructor and Description |
---|
EmfSelectObject()
Initializes a new instance of the
EmfSelectObject class. |
EmfSelectObject(EmfRecord record)
Initializes a new instance of the
EmfSelectObject class. |
Modifier and Type | Method and Description |
---|---|
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
Consts.EmfStockObject enumeration. |
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
Consts.EmfStockObject enumeration. |
public EmfSelectObject(EmfRecord record)
Initializes a new instance of the EmfSelectObject
class.
record
- The record.public EmfSelectObject()
Initializes a new instance of the EmfSelectObject
class.
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(); } }
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 Consts.EmfStockObject
enumeration.
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 Consts.EmfStockObject
enumeration.