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.
Copyright (c) 2008-2022 Aspose Pty Ltd. All Rights Reserved.