Class EmfCreateBrushIndirect
Nombre del espacio: Aspose.Imaging.FileFormats.Emf.Emf.Records Asamblea: Aspose.Imaging.dll (25.4.0)
El registro EMR_CREATEBRUSHINDIRECT define un brush lógico para las operaciones gráficas.
public sealed class EmfCreateBrushIndirect : EmfObjectCreationRecordType
Inheritance
object ← MetaObject ← EmfRecord ← EmfObjectCreationRecordType ← EmfCreateBrushIndirect
Miembros heredados
EmfRecord.Type ,y, EmfRecord.Size ,y, object.GetType() ,y, object.ToString() ,y, object.Equals(object?) ,y, object.Equals(object?, object?) ,y, object.ReferenceEquals(object?, object?) ,y, object.GetHashCode()
Constructors
EmfCreateBrushIndirect(EmfRecord)
Inicia una nueva instancia de la clase Aspose.Imaging.FileFormats.Emf.Emf.Records.EmfCreateBrushIndirect.
public EmfCreateBrushIndirect(EmfRecord source)
Parameters
source
EmfRecord
La fuente.
EmfCreateBrushIndirect()
Inicia una nueva instancia de la clase Aspose.Imaging.FileFormats.Emf.Emf.Records.EmfCreateBrushIndirect.
public EmfCreateBrushIndirect()
Examples
El siguiente ejemplo muestra cómo configurar el color de fondo para EMF. De hecho, pone un rectángulo del color de fondo antes de dibujar todos los demás objetos.
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
IhBrush
Obtener o configurar un integer no firmado de 32 bits que especifica el índice del objeto de pulsación lógicaen la Tabla de Objetos EMF (sección 3.1.1.1). Este índice DEVE ser guardado para que este objeto pueda serreutilizado o modificado.
public int IhBrush { get; set; }
Valor de la propiedad
LogBrush
Objeto LogBrushEx (sección 2.2.12) que especifica el estilo, color yEl campo BrushStyle en este objeto debe ser BS_SOLID,BS_HATCHED o BS_NULL.
public EmfLogBrushEx LogBrush { get; set; }