Class EmfRectangle
Il nome: Aspose.Imaging.FileFormats.Emf.Emf.Records Assemblea: Aspose.Imaging.dll (25.4.0)
Il record EMR_RECTANGLE attira un rectangolo. il rektangulo è illuminato utilizzando la penna correntee riempito utilizzando il brush corrente.
public sealed class EmfRectangle : EmfDrawingRecordType
Inheritance
object ← MetaObject ← EmfRecord ← EmfDrawingRecordType ← EmfRectangle
I membri ereditari
EmfRecord.Type , EmfRecord.Size , object.GetType() , object.ToString() , object.Equals(object?) , object.Equals(object?, object?) , object.ReferenceEquals(object?, object?) , object.GetHashCode()
Remarks
La posizione attuale non viene utilizzata né aggiornata da Rectangle.Se viene utilizzata una penna PS_NULL, le dimensioni del rectangolo sono 1 pixel meno in altezza e 1 pixeli menoin larghezza.
Constructors
EmfRectangle(EmfRecord)
Inizializza una nuova instanza della classe Aspose.Imaging.FileFormats.Emf.Emp.Records.EnfRectangle.
public EmfRectangle(EmfRecord source)
Parameters
source
EmfRecord
La fonte .
EmfRectangle()
Inizializza una nuova instanza della classe Aspose.Imaging.FileFormats.Emf.Emp.Records.EnfRectangle.
public EmfRectangle()
Examples
L’esempio seguente mostra come impostare il colore di sfondo per EMF. In realtà mette un rectangolo del colore posteriore prima di disegnare tutti gli altri oggetti.
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
Box
Riceve o imposta un oggetto WMF RectL a 128 bit, specificato nella sezione 2.2.2.19 [MS-WM F], chespecifica il rectangolo inclusivo da disegnare.
public Rectangle Box { get; set; }