Class EmfSelectObject

Class EmfSelectObject

Namn på plats: Aspose.Imaging.FileFormats.Emf.Emf.Records Församling: Aspose.Imaging.dll (25.4.0)

EMR_SELECTOBJECT-registret lägger till ett grafiskt objekt till den aktuella metafil playback-enhetenObjektet anges antingen av dess index i EMF Object Table (avsnitt 3.1.1.1) eller av dess index.värde från StockObject-förteckningen (avsnitt 2.1.31).

public sealed class EmfSelectObject : EmfRecord

Inheritance

object MetaObject EmfRecord EmfSelectObject

Arvsmedlemmar

EmfRecord.Type , EmfRecord.Size , object.GetType() , object.ToString() , object.Equals(object?) , object.Equals(object?, object?) , object.ReferenceEquals(object?, object?) , object.GetHashCode()

Constructors

EmfSelectObject(EmfRecord)

Initialiserar en ny instans av Aspose.Imaging.FileFormats.Emf.Emf.Records.EmfSelectObject klass.

public EmfSelectObject(EmfRecord record)

Parameters

record EmfRecord

och rekordet.

EmfSelectObject()

Initialiserar en ny instans av Aspose.Imaging.FileFormats.Emf.Emf.Records.EmfSelectObject klass.

public EmfSelectObject()

Examples

Följande exempel visar hur du ställer in bakgrundsfärgen för EMF. Det sätter faktiskt en rektangel av bakgrundsfärgen innan du ritar alla andra objekt.

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 &lt; 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

Få eller ställa in en 32-bitars icke-signat helhet som antingen anger indexet för ett grafiskt objekti EMF-objekttabellen eller indexet för ett lagerobjekt från Aspose.Imaging.FileFormats.Emf.Emf.Consts.EmfStockObject-förteckningen.

public int ObjectHandle { get; set; }

Fastighetsvärde

int

 Svenska