Class EmfSelectObject
Numele spaţiului: Aspose.Imaging.FileFormats.Emf.Emf.Records Asamblare: Aspose.Imaging.dll (25.4.0)
Înregistrarea EMR_SELECTOBJECT adaugă un obiect grafic la dispozitivul actual de reproducere metafilăObiectul este specificat fie prin indicele sale din tabelul obiectelor EMF (secțiunea 3.1.1.1) sau prinvaloarea din lista StockObject (secțiunea 2.1.31).
public sealed class EmfSelectObject : EmfRecord
Inheritance
object ← MetaObject ← EmfRecord ← EmfSelectObject
Membrii moștenitori
EmfRecord.Type , EmfRecord.Size , object.GetType() , object.ToString() , object.Equals(object?) , object.Equals(object?, object?) , object.ReferenceEquals(object?, object?) , object.GetHashCode()
Constructors
EmfSelectObject(EmfRecord)
Inițializează o nouă instanță a clasei Aspose.Imaging.FileFormats.Emf.Emb.Records.EMfSelectObject.
public EmfSelectObject(EmfRecord record)
Parameters
record
EmfRecord
şi recordul .
EmfSelectObject()
Inițializează o nouă instanță a clasei Aspose.Imaging.FileFormats.Emf.Emb.Records.EMfSelectObject.
public EmfSelectObject()
Examples
Următorul exemplu arată modul de setare a culorii de fundal pentru EMF. De fapt, pune un rectanglu al culorilor de fond înainte de a desena toate celelalte obiecte.
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
Obține sau setă un întreg non-signat de 32 de biți care specifică fie indexul unui obiect graficîn tabelul Obiectelor EMF sau în indexul unui obiect de stoc din Aspose.Imaging.FileFormats.Emf.Emb.Consts.EMfStockObject enumerare.
public int ObjectHandle { get; set; }