Class EmfSelectObject
İsim alanı : Aspose.Imaging.FileFormats.Emf.Emf.Records Toplantı: Aspose.Imaging.dll (25.4.0)
EMR_SELECTOBJECT kaydı, mevcut metafizik oynatma cihazına bir grafik nesne ekledinesne, EMF nesne tablosunda (bölüm 3.1.1.1) veya endeksiyle belirlenir.StockObject listesinden değer (bölüm 2.1.31).
public sealed class EmfSelectObject : EmfRecord
Inheritance
object ← MetaObject ← EmfRecord ← EmfSelectObject
mirasçı üyeleri
EmfRecord.Type , EmfRecord.Size , object.GetType() , object.ToString() , object.Equals(object?) , object.Equals(object?, object?) , object.ReferenceEquals(object?, object?) , object.GetHashCode()
Constructors
EmfSelectObject(EmfRecord)
Aspose.Imaging.FileFormats.Emf.Emf.Records.EmfSelectObject sınıfının yeni bir örneğini başlatır.
public EmfSelectObject(EmfRecord record)
Parameters
record
EmfRecord
Rekor için.
EmfSelectObject()
Aspose.Imaging.FileFormats.Emf.Emf.Records.EmfSelectObject sınıfının yeni bir örneğini başlatır.
public EmfSelectObject()
Examples
Aşağıdaki örnek EMF için arka plan rengi nasıl ayarlandığını gösterir. aslında arka plan rengi tüm diğer nesneleri çizmeden önce bir düz açı koyar.
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
Görüntüleme nesnesinin endeksini belirleyen 32 bit işaretlenmemiş bir bütün alır veya ayarlar.EMF Object Tablosu veya Aspose.Imaging.FileFormats.Emf.Emf.Consts.EmfStockObject listesinden bir stok nesnesinin endeksi.
public int ObjectHandle { get; set; }