Class EmfSelectObject
Названий на: Aspose.Imaging.FileFormats.Emf.Emf.Records Асамблея: Aspose.Imaging.dll (25.5.0)
Запис EMR_SELECTOBJECT додає графічний об’єкт до поточного метафільного пристрою відтворенняОб’єкт визначається або його індексу в таблиці об’єктів EMF (розділ 3.1.1.1) або їївартість з переліку StockObject (розділ 2.1.31).
public sealed class EmfSelectObject : EmfRecordInheritance
object ← MetaObject ← EmfRecord ← EmfSelectObject
Нападні члени
EmfRecord.Type , EmfRecord.Size , object.GetType() , object.ToString() , object.Equals(object?) , object.Equals(object?, object?) , object.ReferenceEquals(object?, object?) , object.GetHashCode()
Constructors
EmfSelectObject(EmfRecord)
Ініціалізація нової інстанції класу Aspose.Imaging.FileFormats.Emf.EMF.Records. EmfSelectObject.
public EmfSelectObject(EmfRecord record)Parameters
record EmfRecord
Це рекорд.
EmfSelectObject()
Ініціалізація нової інстанції класу Aspose.Imaging.FileFormats.Emf.EMF.Records. EmfSelectObject.
public EmfSelectObject()Examples
Наступний приклад показує, як встановити колір фону для EMF. Насправді, він покладає прямокутник фонового кольору, перш ніж малювати всі інші об’єкти.
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
Використовується або встановлюється 32-бітний непідписані цілір, що вказує або індекс графічного об’єкта.в таблиці об’єкта EMF або індексу акцій з переліку Aspose.Imaging.FileFormats.Emf.Emp.Consts.EnfStockObject.
public int ObjectHandle { get; set; }