Class EmfSelectObject
Navne til: Aspose.Imaging.FileFormats.Emf.Emf.Records Sammensætning: Aspose.Imaging.dll (25.4.0)
EMR_SELECTOBJECT-optagelsen tilføjer et grafisk objekt til den aktuelle metafil playback-enhedobjektet angives enten af dets indeks i EMF Object Table (sektion 3.1.1.1) eller af densværdi fra StockObject-listen (sektion 2.1.31).
public sealed class EmfSelectObject : EmfRecord
Inheritance
object ← MetaObject ← EmfRecord ← EmfSelectObject
De arvede medlemmer
EmfRecord.Type , EmfRecord.Size , object.GetType() , object.ToString() , object.Equals(object?) , object.Equals(object?, object?) , object.ReferenceEquals(object?, object?) , object.GetHashCode()
Constructors
EmfSelectObject(EmfRecord)
Initialiserer en ny instans af Aspose.Imaging.FileFormats.Emf.EMF.Records. EmfSelectObject klasse.
public EmfSelectObject(EmfRecord record)
Parameters
record
EmfRecord
og rekordet.
EmfSelectObject()
Initialiserer en ny instans af Aspose.Imaging.FileFormats.Emf.EMF.Records. EmfSelectObject klasse.
public EmfSelectObject()
Examples
Følgende eksempel viser, hvordan du indstiller baggrundsfarven for EMF. Det placerer faktisk en rektangle af baggrundfarvet, før du tegner alle andre objekter.
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
Gæder eller indsætter 32-bit usigned integer, der angiver enten indekset for et grafisk objekti EMF-objekttabellen eller indekset for et aktiekabelt fra Aspose.Imaging.FileFormats.Emf.Emb.Consts.EMfStockObject-enumerationen.
public int ObjectHandle { get; set; }