Class EmfSelectObject

Class EmfSelectObject

اسم الفضاء : Aspose.Imaging.FileFormats.Emf.Emf.Records تجميع: Aspose.Imaging.dll (25.4.0)

يضيف سجل EMR_SELECTOBJECT كائنًا رسميًا إلى جهاز تشغيل الميتافييل الحالييتم تحديد الكائن إما من خلال مؤشره في جدول الكائنات EMF (القسم 3.1.1.1) أو من خلال مؤشرهالقيمة من قائمة StockObject (القسم 2.1.31).

public sealed class EmfSelectObject : EmfRecord

Inheritance

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

يحصل أو يضع 32 بت غير مسجلة الكامل الذي يحدد إما مؤشر كائن الرسوماتفي جدول EMF Object أو مؤشر كائن الأسهم من قائمة Aspose.Imaging.FileFormats.Emf.Emf.Consts.EmfStockObject.

public int ObjectHandle { get; set; }

قيمة الممتلكات

int

 عربي