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 یا شاخص یک اشیاء سهام از لیست Aspose.Imaging.FileFormats.Emf.Emf.Consts.EmfStockObject.

public int ObjectHandle { get; set; }

ارزش املاک

int

 فارسی