Class EmfSelectObject
اسم الفضاء : Aspose.Imaging.FileFormats.Emf.Emf.Records تجميع: Aspose.Imaging.dll (25.4.0)
يضيف سجل EMR_SELECTOBJECT كائنًا رسميًا إلى جهاز تشغيل الميتافييل الحالييتم تحديد الكائن إما من خلال مؤشره في جدول الكائنات EMF (القسم 3.1.1.1) أو من خلال مؤشرهالقيمة من قائمة StockObject (القسم 2.1.31).
public sealed class EmfSelectObject : EmfRecord
Inheritance
object ← MetaObject ← EmfRecord ← EmfSelectObject
الأعضاء الموروثين
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.
public EmfSelectObject(EmfRecord record)
Parameters
record
EmfRecord
هذا الرقم القياسي
EmfSelectObject()
يبدأ مثالًا جديدًا من فئة Aspose.Imaging.FileFormats.Emf.Emf.Records.EmfSelectObject.
public EmfSelectObject()
Examples
يظهر المثال التالي كيفية تعيين لون الخلفية لـ EMF. فإنه يضع في الواقع مستطيل لون الخلفية قبل رسم جميع الأشياء الأخرى.
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
يحصل أو يضع 32 بت غير مسجلة الكامل الذي يحدد إما مؤشر كائن الرسوماتفي جدول EMF Object أو مؤشر كائن الأسهم من قائمة Aspose.Imaging.FileFormats.Emf.Emf.Consts.EmfStockObject.
public int ObjectHandle { get; set; }