Class EmfSelectObject
Le nom : Aspose.Imaging.FileFormats.Emf.Emf.Records Assemblée: Aspose.Imaging.dll (25.4.0)
L’enregistrement EMR_SELECTOBJECT ajoute un objet graphique à l’appareil de lecture métaphile actuelL’objet est spécifié soit par son indice dans la table des objets EMF (section 3.1.1.1) ou par savaleur de la liste StockObject (section 2.1.31).
public sealed class EmfSelectObject : EmfRecord
Inheritance
object ← MetaObject ← EmfRecord ← EmfSelectObject
I membri ereditari
EmfRecord.Type , EmfRecord.Size , object.GetType() , object.ToString() , object.Equals(object?) , object.Equals(object?, object?) , object.ReferenceEquals(object?, object?) , object.GetHashCode()
Constructors
EmfSelectObject(EmfRecord)
Initialisez une nouvelle instance de la classe Aspose.Imaging.FileFormats.Emf.EMF.Records. EmfSelectObject.
public EmfSelectObject(EmfRecord record)
Parameters
record
EmfRecord
Le record !
EmfSelectObject()
Initialisez une nouvelle instance de la classe Aspose.Imaging.FileFormats.Emf.EMF.Records. EmfSelectObject.
public EmfSelectObject()
Examples
L’exemple suivant montre comment définir la couleur d’arrière-plan pour EMF. Il met en fait un rectangle du coloris de fond avant de dessiner tous les autres objets.
string dir = "c:\\aspose.imaging\\issues\\net\\3280\\";
string inputFilePath = dir + "image1.emf";
string outputFilePath = dir + "ChangeBackground_" + "image1.emf";
using (Aspose.Imaging.FileFormats.Emf.MetaImage image = (Aspose.Imaging.FileFormats.Emf.MetaImage)Aspose.Imaging.Image.Load(inputFilePath))
{
AddBackgroundRectangleEmf((Aspose.Imaging.FileFormats.Emf.EmfImage)image, Aspose.Imaging.Color.Blue);
image.Save(outputFilePath);
}
/// <summary>
/// Helper method to change EMF background.
/// </summary>
public static void AddBackgroundRectangleEmf(Aspose.Imaging.FileFormats.Emf.EmfImage image, Aspose.Imaging.Color color)
{
image.CacheData();
if (image.Records.Count < 1)
{
return;
}
//Set Rectangle
Aspose.Imaging.FileFormats.Emf.Emf.Records.EmfRectangle rectangle = new Aspose.Imaging.FileFormats.Emf.Emf.Records.EmfRectangle();
rectangle.Box = image.Header.EmfHeader.Bounds;
//Set Brush
Aspose.Imaging.FileFormats.Emf.Emf.Records.EmfCreateBrushIndirect brush = new Aspose.Imaging.FileFormats.Emf.Emf.Records.EmfCreateBrushIndirect();
brush.LogBrush = new Aspose.Imaging.FileFormats.Emf.Emf.Objects.EmfLogBrushEx();
brush.LogBrush.Argb32ColorRef = color.ToArgb();
// Object indexes start at 1; zero is reserved for references to the metafile itself, see
// https://docs.microsoft.com/en-us/openspecs/windows_protocols/ms-emf/e4fa4e63-9096-4cdc-b776-85e2a1e4e1f4
brush.IhBrush = 1;
//Select brush
Aspose.Imaging.FileFormats.Emf.Emf.Records.EmfSelectObject selectObject = new Aspose.Imaging.FileFormats.Emf.Emf.Records.EmfSelectObject();
selectObject.ObjectHandle = 1;
//Remove brush
Aspose.Imaging.FileFormats.Emf.Emf.Records.EmfDeleteObject deleteObject = new Aspose.Imaging.FileFormats.Emf.Emf.Records.EmfDeleteObject();
deleteObject.ObjectHandle = 1;
//Add records
image.Records.Insert(1, brush);
image.Records.Insert(2, selectObject);
image.Records.Insert(3, rectangle);
image.Records.Insert(4, deleteObject);
}
Properties
ObjectHandle
Obtenir ou configurer un intégral non signé de 32 bits spécifiant l’indice d’un objet graphiquedans la table des objets EMF ou l’indice d’un objet stock à partir de la liste Aspose.Imaging.FileFormats.Emf.Emb.Consts.EMfStockObject.
public int ObjectHandle { get; set; }