Class EmfSelectObject
Nama dari : Aspose.Imaging.FileFormats.Emf.Emf.Records Pengumpulan: Aspose.Imaging.dll (25.4.0)
Rekaman EMR_SELECTOBJECT menambahkan objek grafis ke perangkat playback metafil saat iniObjek ditentukan oleh indeksnya dalam tabel objek EMF (bahagian 3.1.1.1) atau oleh indeksnya.nilai dari daftar StockObject (bahagian 2.1.31).
public sealed class EmfSelectObject : EmfRecord
Inheritance
object ← MetaObject ← EmfRecord ← EmfSelectObject
anggota yang diwarisi
EmfRecord.Type , EmfRecord.Size , object.GetType() , object.ToString() , object.Equals(object?) , object.Equals(object?, object?) , object.ReferenceEquals(object?, object?) , object.GetHashCode()
Constructors
EmfSelectObject(EmfRecord)
Initifikasi contoh baru dari kelas Aspose.Imaging.FileFormats.Emf.Emf.Records.EmfSelectObject.
public EmfSelectObject(EmfRecord record)
Parameters
record
EmfRecord
dan rekodnya.
EmfSelectObject()
Initifikasi contoh baru dari kelas Aspose.Imaging.FileFormats.Emf.Emf.Records.EmfSelectObject.
public EmfSelectObject()
Examples
Contoh berikut menunjukkan bagaimana menetapkan warna latar belakang untuk EMF. Ini sebenarnya meletakkan rektangle warna latar belakang sebelum menggambar semua objek lain.
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
Dapatkan atau menetapkan 32-bit non-signed integer yang menentukan indeks objek grafisdalam tabel objek EMF atau indeks objek saham dari Aspose.Imaging.FileFormats.Emf.Emf.Consts.EmfStockObject daftar.
public int ObjectHandle { get; set; }