Class EmfSelectObject
Der Name: Aspose.Imaging.FileFormats.Emf.Emf.Records Versammlung: Aspose.Imaging.dll (25.4.0)
Das EMR_SELECTOBJECT-Rekord fügt dem aktuellen Metaphyl-Playback-Gerät ein Grafikobjekt hinzuDas Objekt wird entweder durch seinen Index in der EMF Object Table (Abschnitt 3.1.1.1) oder durch seinen Index angegeben.Wert aus der StockObject-Liste (Abschnitt 2.1.31).
public sealed class EmfSelectObject : EmfRecord
Inheritance
object ← MetaObject ← EmfRecord ← EmfSelectObject
Vererbte Mitglieder
EmfRecord.Type , EmfRecord.Size , object.GetType() , object.ToString() , object.Equals(object?) , object.Equals(object?, object?) , object.ReferenceEquals(object?, object?) , object.GetHashCode()
Constructors
EmfSelectObject(EmfRecord)
Initialisiert eine neue Instanz der Aspose.Imaging.FileFormats.Emf.Emf.Records.EmfSelectObject Klasse.
public EmfSelectObject(EmfRecord record)
Parameters
record
EmfRecord
Das Rekord.
EmfSelectObject()
Initialisiert eine neue Instanz der Aspose.Imaging.FileFormats.Emf.Emf.Records.EmfSelectObject Klasse.
public EmfSelectObject()
Examples
Das folgende Beispiel zeigt, wie die Hintergrundfarbe für EMF festgelegt wird. Es legt vor dem Zeichnen aller anderen Objekte tatsächlich einen Rechtangel der Hintergrundfarbe.
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
Gibt oder setzt ein 32-Bit-Unsigned-Teil, das entweder den Index eines Grafikobjekts angibtin der EMF-Objekttabelle oder dem Index eines Aktienobjekts aus der Aspose.Imaging.FileFormats.Emf.Emf.Consts.EmfStockObject-Liste.
public int ObjectHandle { get; set; }