EmfRectangle
内容
[
隐藏
]EmfRectangle(EmfRecord)
初始化EmfRectangle
类.
public EmfRectangle(EmfRecord source)
范围 | 类型 | 描述 |
---|---|---|
source | EmfRecord | 来源。 |
也可以看看
- class EmfRecord
- class EmfRectangle
- 命名空间 Aspose.Imaging.FileFormats.Emf.Emf.Records
- 部件 Aspose.Imaging
EmfRectangle()
初始化EmfRectangle
类.
public EmfRectangle()
例子
以下示例显示了如何设置 EMF 的背景颜色。它实际上在绘制所有其他对象之前放置了一个背景颜色的矩形。
[C#]
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>
/// 改变 EMF 背景的辅助方法。
/// </summary>
public static void AddBackgroundRectangleEmf(Aspose.Imaging.FileFormats.Emf.EmfImage image, Aspose.Imaging.Color color)
{
image.CacheData();
if (image.Records.Count < 1)
{
return;
}
//设置矩形
Aspose.Imaging.FileFormats.Emf.Emf.Records.EmfRectangle rectangle = new Aspose.Imaging.FileFormats.Emf.Emf.Records.EmfRectangle();
rectangle.Box = image.Header.EmfHeader.Bounds;
//设置画笔
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();
// 对象索引从 1 开始;零保留用于引用元文件本身,请参阅
// https://docs.microsoft.com/en-us/openspecs/windows_protocols/ms-emf/e4fa4e63-9096-4cdc-b776-85e2a1e4e1f4
brush.IhBrush = 1;
//选择画笔
Aspose.Imaging.FileFormats.Emf.Emf.Records.EmfSelectObject selectObject = new Aspose.Imaging.FileFormats.Emf.Emf.Records.EmfSelectObject();
selectObject.ObjectHandle = 1;
//删除画笔
Aspose.Imaging.FileFormats.Emf.Emf.Records.EmfDeleteObject deleteObject = new Aspose.Imaging.FileFormats.Emf.Emf.Records.EmfDeleteObject();
deleteObject.ObjectHandle = 1;
//添加记录
image.Records.Insert(1, brush);
image.Records.Insert(2, selectObject);
image.Records.Insert(3, rectangle);
image.Records.Insert(4, deleteObject);
}