Class EmfCreateBrushIndirect

Class EmfCreateBrushIndirect

Nom dels espais: Aspose.Imaging.FileFormats.Emf.Emf.Records Assemblea: Aspose.Imaging.dll (25.4.0)

El registre EMR_CREATEBRUSHINDIRECT defineix un brush lògic per a les operacions gràfiques.

public sealed class EmfCreateBrushIndirect : EmfObjectCreationRecordType

Inheritance

object MetaObject EmfRecord EmfObjectCreationRecordType EmfCreateBrushIndirect

Membres heretats

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

Constructors

EmfCreateBrushIndirect(EmfRecord)

Inicialitza una nova instància de la classe Aspose.Imaging.FileFormats.Emf.EMF.Records. EmfCreateBrushIndirect.

public EmfCreateBrushIndirect(EmfRecord source)

Parameters

source EmfRecord

La font.

EmfCreateBrushIndirect()

Inicialitza una nova instància de la classe Aspose.Imaging.FileFormats.Emf.EMF.Records. EmfCreateBrushIndirect.

public EmfCreateBrushIndirect()

Examples

L’exemple següent mostra com configurar el color de fons per a EMF. De fet, posa un rectangle del color del fons abans de dibuixar tots els altres objectes.

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

IhBrush

Obtenir o configurar un integrador no signat de 32 bits que especifica l’índex de l’objecte de brús lògicen la taula d’objectes EMF (secció 3.1.1.1). aquest índex ha de ser guardat perquè aquest objecte pugui serreutilitzats o modificats.

public int IhBrush { get; set; }

Valor de la propietat

int

LogBrush

Objecte LogBrushEx (secció 2.2.12) que especifica l’estil, el color iEl camp BrushStyle en aquest objecte ha de ser BS_SOLID,BS_HATCHED o BS - NULL.

public EmfLogBrushEx LogBrush { get; set; }

Valor de la propietat

EmfLogBrushEx

 Català