Class EmfRectangle
이름 공간 : Aspose.Imaging.FileFormats.Emf.Emf.Records 모임: Aspose.Imaging.dll (25.4.0)
EMR_RECTANGLE 레코드는 직경을 끌고 있습니다. 직경은 현재 펜을 사용하여 표시됩니다.그리고 현재 브러쉬를 사용하여 채워집니다.
public sealed class EmfRectangle : EmfDrawingRecordType
Inheritance
object ← MetaObject ← EmfRecord ← EmfDrawingRecordType ← EmfRectangle
상속 회원들
EmfRecord.Type , EmfRecord.Size , object.GetType() , object.ToString() , object.Equals(object?) , object.Equals(object?, object?) , object.ReferenceEquals(object?, object?) , object.GetHashCode()
Remarks
현재 위치는 Rectangle에 의해 사용되거나 업데이트되지 않습니다.PS_NULL 펜이 사용되는 경우, 직경의 크기는 높이 1 픽셀 미만이고 1 픽셀 미만입니다.넓은 곳에서
Constructors
EmfRectangle(EmfRecord)
Aspose.Imaging.FileFormats.Emf.Emf.Records.EmfRectangle 클래스의 새로운 예를 시작합니다.
public EmfRectangle(EmfRecord source)
Parameters
source
EmfRecord
그리고 출처입니다.
EmfRectangle()
Aspose.Imaging.FileFormats.Emf.Emf.Records.EmfRectangle 클래스의 새로운 예를 시작합니다.
public EmfRectangle()
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
Box
[MS-WMF] 섹션 2.2.2.19에 명시된 128비트 WMF RectL 개체를 얻거나 설정합니다.그림을 그려야 할 포괄적 인 직경을 지정합니다.
public Rectangle Box { get; set; }