Class EmfSelectObject
Nombre del espacio: Aspose.Imaging.FileFormats.Emf.Emf.Records Asamblea: Aspose.Imaging.dll (25.4.0)
El registro EMR_SELECTOBJECT añade un objeto gráfico al dispositivo de reproducción metafísica actualEl objeto se especifica ya por su índice en la Tabla de Objetos EMF (sección 3.1.1.1) o por su índice.valor de la lista de StockObject (sección 2.1.31).
public sealed class EmfSelectObject : EmfRecord
Inheritance
object ← MetaObject ← EmfRecord ← EmfSelectObject
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
EmfSelectObject(EmfRecord)
Inicia una nueva instancia de la clase Aspose.Imaging.FileFormats.Emf.Emf.Records.EmfSelectObject.
public EmfSelectObject(EmfRecord record)
Parameters
record
EmfRecord
El récord.
EmfSelectObject()
Inicia una nueva instancia de la clase Aspose.Imaging.FileFormats.Emf.Emf.Records.EmfSelectObject.
public EmfSelectObject()
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
ObjectHandle
Obtener o establecer un integer no firmado de 32 bits que especifique el índice de un objeto gráficoen la Tabla de Objetos EMF o el índice de un objeto de stock de la enumeración Aspose.Imaging.FileFormats.Emf.Emf.Consts.EmfStockObject.
public int ObjectHandle { get; set; }