Class EmfRectangle

Class EmfRectangle

Namespace: Aspose.Imaging.FileFormats.Emf.Emf.Records
Assembly: Aspose.Imaging.dll (25.2.0)

The EMR_RECTANGLE record draws a rectangle. The rectangle is outlined by using the current pen and filled by using the current brush.

public sealed class EmfRectangle : EmfDrawingRecordType

Inheritance

objectMetaObjectEmfRecordEmfDrawingRecordTypeEmfRectangle

Inherited Members

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

Remarks

The current position is neither used nor updated by Rectangle. If a PS_NULL pen is used, the dimensions of the rectangle are 1 pixel less in height and 1 pixel less in width.

Constructors

EmfRectangle(EmfRecord)

Initializes a new instance of the Aspose.Imaging.FileFormats.Emf.Emf.Records.EmfRectangle class.

public EmfRectangle(EmfRecord source)

Parameters

source EmfRecord

The source.

EmfRectangle()

Initializes a new instance of the Aspose.Imaging.FileFormats.Emf.Emf.Records.EmfRectangle class.

public EmfRectangle()

Examples

The following example shows how set the background color for EMF. It actually puts a rectangle of the background color before drawing all other objects.```csharp [C#]

                                                                                                                                                               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

### <a id="Aspose_Imaging_FileFormats_Emf_Emf_Records_EmfRectangle_Box"></a> Box

Gets or sets a 128-bit WMF RectL object, specified in [MS-WMF] section 2.2.2.19, which 
specifies the inclusive-inclusive rectangle to draw.

```csharp
public Rectangle Box { get; set; }

Property Value

Rectangle

See Also

EmfDrawingRecordType