RawFrame
Shape.RawFrame 属性
返回或设置原始形状框架的属性。可读写 IShapeFrame
。
public IShapeFrame RawFrame { get; set; }
示例
尝试将未定义框架分配给 IShape.Frame 的代码在一般情况下是没有意义的(特别是在父 GroupShape 多层嵌套到其他 GroupShape 的情况下)。例如:
IShape shape = ...;
shape.Frame = new ShapeFrame(float.NaN, float.NaN, float.NaN, float.NaN, NullableBool.NotDefined, NullableBool.NotDefined, float.NaN);
或者
slide.Shapes.AddAutoShape(ShapeType.RoundCornerRectangle, float.NaN, float.NaN, float.NaN, float.NaN);
这样的代码可能会导致不明确的情况。因此,对于 IShape.Frame 的未定义值使用添加了限制。x、y、width、height、flipH、flipV 和 rotationAngle 的值必须被定义(不能是 float.NaN 或 NullableBool.NotDefined)。上述示例代码现在会抛出 ArgumentException 异常。这适用于以下用例:
IShape shape = ...;
shape.Frame = ...; // 不能未定义
IShapeCollection shapes = ...;
// x、y、width、height 参数不能是 float.NaN:
{
shapes.AddAudioFrameCD(...);
shapes.AddAudioFrameEmbedded(...);
shapes.AddAudioFrameLinked(...);
shapes.AddAutoShape(...);
shapes.AddChart(...);
shapes.AddConnector(...);
shapes.AddOleObjectFrame(...);
shapes.AddPictureFrame(...);
shapes.AddSmartArt(...);
shapes.AddTable(...);
shapes.AddVideoFrame(...);
shapes.InsertAudioFrameEmbedded(...);
shapes.InsertAudioFrameLinked(...);
shapes.InsertAutoShape(...);
shapes.InsertChart(...);
shapes.InsertConnector(...);
shapes.InsertOleObjectFrame(...);
shapes.InsertPictureFrame(...);
shapes.InsertTable(...);
shapes.InsertVideoFrame(...);
}
但 IShape.RawFrame 框架属性可以是未定义的。当形状链接到占位符时,这是有意义的。然后,未定义的形状框架值从父占位符形状继承。如果该形状没有父占位符形状,则该形状在评估其 IShape.RawFrame 时使用默认值。默认值为 x、y、width、height、flipH、flipV 和 rotationAngle 的值为 0 和 NullableBool.False。例如:
IShape shape = ...; // 形状链接到占位符
shape.RawFrame = new ShapeFrame(float.NaN, float.NaN, 100, float.NaN, NullableBool.NotDefined, NullableBool.NotDefined, 0); // 现在形状从占位符继承 x、y、高度、flipH、flipV 值,并覆盖宽度=100 和 rotationAngle=0。
另请参阅
- 接口 IShapeFrame
- 类 Shape
- 命名空间 Aspose.Slides
- 程序集 Aspose.Slides