Shape
Shape class
Представляет объект на слое чертежа, например автофигуру, текстовое поле, произвольную форму, объект OLE, элемент управления ActiveX или изображение.
Чтобы узнать больше, посетитеРабота с фигурами документальная статья.
public sealed class Shape : ShapeBase
Конструкторы
| Имя | Описание |
|---|---|
| Shape(DocumentBase, ShapeType) | Создает новый объект формы. |
Характеристики
| Имя | Описание |
|---|---|
| Adjustments { get; } | Предоставляет доступ к необработанным значениям корректировки фигуры. Для фигуры, которая не содержит необработанных значений корректировки, возвращается пустая коллекция. |
| AllowOverlap { get; set; } | Возвращает или задает значение, указывающее, может ли эта фигура перекрывать другие фигуры. |
| AlternativeText { get; set; } | Определяет альтернативный текст, отображаемый вместо графики. |
| AnchorLocked { get; set; } | Указывает, заблокирована ли привязка фигуры. |
| AspectRatioLocked { get; set; } | Указывает, заблокировано ли соотношение сторон фигуры. |
| BehindText { get; set; } | Указывает, находится ли фигура под или над текстом. |
| Bottom { get; } | Получает положение нижнего края содержащего блока фигуры. |
| Bounds { get; set; } | Возвращает или задает местоположение и размер содержащего блока фигуры. |
| BoundsInPoints { get; } | Получает местоположение и размер содержащего блока фигуры в пунктах относительно точки привязки самой верхней фигуры. |
| BoundsWithEffects { get; } | Получает окончательную протяженность объекта-фигуры после применения эффектов рисования. Значение измеряется в точках. |
| CanHaveImage { get; } | Возвратистинный если тип фигуры позволяет фигуре иметь изображение. |
| Chart { get; } | Предоставляет доступ к свойствам диаграммы, если эта фигура имеетChart . |
| CoordOrigin { get; set; } | Координаты в верхнем левом углу содержащего блока этой формы. |
| CoordSize { get; set; } | Ширина и высота координатного пространства внутри содержащего блока этой формы. |
| Count { get; } | Получает количество непосредственных потомков этого узла. |
| CustomNodeId { get; set; } | Указывает пользовательский идентификатор узла. |
| DistanceBottom { get; set; } | Возвращает или задает расстояние (в пунктах) между текстом документа и нижним краем фигуры. |
| DistanceLeft { get; set; } | Возвращает или задает расстояние (в пунктах) между текстом документа и левым краем фигуры. |
| DistanceRight { get; set; } | Возвращает или задает расстояние (в пунктах) между текстом документа и правым краем фигуры. |
| DistanceTop { get; set; } | Возвращает или задает расстояние (в пунктах) между текстом документа и верхним краем фигуры. |
| virtual Document { get; } | Получает документ, к которому принадлежит этот узел. |
| ExtrusionEnabled { get; } | Возвратистинный если эффект выдавливания включен. |
| Fill { get; } | Получает форматирование заливки для фигуры. |
| FillColor { get; set; } | Определяет цвет кисти, заполняющей замкнутый контур фигуры. |
| Filled { get; set; } | Определяет, будет ли заполнен замкнутый контур фигуры. |
| FirstChild { get; } | Получает первый дочерний элемент узла. |
| FirstParagraph { get; } | Получает первый абзац в форме. |
| FlipOrientation { get; set; } | Изменяет ориентацию фигуры. |
| Font { get; } | Предоставляет доступ к форматированию шрифта этого объекта. |
| Glow { get; } | Получает форматирование свечения для фигуры. |
| HasChart { get; } | Возвратистинный если этоShape имеетChart . |
| HasChildNodes { get; } | Возвратистинный если у этого узла есть дочерние узлы. |
| HasImage { get; } | Возвратистинный если форма имеет байты изображения или ссылается на изображение. |
| HasSmartArt { get; } | Возвратистинный если этоShape имеет объект SmartArt. |
| Height { get; set; } | Возвращает или задает высоту содержащего блока фигуры. |
| HeightRelative { get; set; } | Возвращает или задает значение, представляющее процент относительной высоты фигуры. |
| Hidden { get; set; } | Возвращает или задает логическое значение, указывающее, видна ли фигура. |
| HorizontalAlignment { get; set; } | Указывает, как фигура располагается по горизонтали. |
| HorizontalRuleFormat { get; } | Предоставляет доступ к свойствам формы горизонтальной линейки. Для формы, которая не является горизонтальной линейкой, возвращаетнулевой . |
| HRef { get; set; } | Получает или задает полный адрес гиперссылки для фигуры. |
| ImageData { get; } | Предоставляет доступ к изображению фигуры. Возвращаетнулевой если форма не может иметь изображение. |
| override IsComposite { get; } | Возвратистинный так как этот узел может иметь дочерние узлы. |
| IsDecorative { get; set; } | Возвращает или задает флаг, указывающий, является ли фигура декоративной в документе. |
| IsDeleteRevision { get; } | Возвращает значение true, если этот объект был удален в Microsoft Word при включенном отслеживании изменений. |
| IsGroup { get; } | Возвратистинный если это групповая форма. |
| IsHorizontalRule { get; } | Возвратистинный если эта фигура является горизонтальной линейкой. |
| IsImage { get; } | Возвратистинный если эта форма является формой изображения. |
| IsInline { get; } | Быстрый способ определить, расположена ли эта фигура в одной строке с текстом. |
| IsInsertRevision { get; } | Возвращает значение true, если этот объект был вставлен в Microsoft Word при включенном отслеживании изменений. |
| IsLayoutInCell { get; set; } | Возвращает или задает флаг, указывающий, отображается ли фигура внутри таблицы или вне ее. |
| IsMoveFromRevision { get; } | Возвратистинный если этот объект был перемещен (удален) в Microsoft Word при включенном отслеживании изменений. |
| IsMoveToRevision { get; } | Возвратистинный если этот объект был перемещен (вставлен) в Microsoft Word при включенном отслеживании изменений. |
| IsSignatureLine { get; } | Указывает, что форма являетсяSignatureLine . |
| IsTopLevel { get; } | Возвратистинный если эта фигура не является дочерней по отношению к группе фигур. |
| IsWordArt { get; } | Возвратистинный если эта фигура является объектом WordArt. |
| LastChild { get; } | Получает последний дочерний элемент узла. |
| LastParagraph { get; } | Получает последний абзац в форме. |
| Left { get; set; } | Возвращает или задает положение левого края содержащего блока фигуры. |
| LeftRelative { get; set; } | Возвращает или задает значение, представляющее относительное левое положение фигуры в процентах. |
| MarkupLanguage { get; } | Получает MarkupLanguage, используемый для этого графического объекта. |
| Name { get; set; } | Получает или задает необязательное имя фигуры. |
| NextSibling { get; } | Получает узел, следующий сразу за данным узлом. |
| override NodeType { get; } | ВозвратShape . |
| OleFormat { get; } | Предоставляет доступ к данным OLE фигуры. Для фигуры, которая не является объектом OLE или элементом управления ActiveX, возвращаетнулевой . |
| ParentNode { get; } | Получает непосредственного родителя этого узла. |
| ParentParagraph { get; } | Возвращает непосредственный родительский абзац. |
| PreviousSibling { get; } | Получает узел, непосредственно предшествующий данному узлу. |
| Range { get; } | ВозвращаетRangeобъект, представляющий часть документа, содержащуюся в этом узле. |
| Reflection { get; } | Получает форматирование отражения для фигуры. |
| RelativeHorizontalPosition { get; set; } | Указывает, относительно чего фигура расположена горизонтально. |
| RelativeHorizontalSize { get; set; } | Возвращает или задает значение относительного размера фигуры в горизонтальном направлении. |
| RelativeVerticalPosition { get; set; } | Указывает, относительно чего фигура расположена по вертикали. |
| RelativeVerticalSize { get; set; } | Возвращает или задает значение относительного размера фигуры в вертикальном направлении. |
| Right { get; } | Получает положение правого края содержащего блока фигуры. |
| Rotation { get; set; } | Определяет угол (в градусах), на который поворачивается фигура. Положительное значение соответствует углу поворота по часовой стрелке. |
| ScreenTip { get; set; } | Определяет текст, отображаемый при перемещении указателя мыши по фигуре. |
| ShadowEnabled { get; } | Возвратистинный если включен эффект тени. |
| ShadowFormat { get; } | Получает форматирование тени для фигуры. |
| ShapeType { get; } | Получает тип фигуры. |
| SignatureLine { get; } | ПолучаетSignatureLine объект, если фигура является линией подписи. Возвращаетнулевой в противном случае. |
| SizeInPoints { get; } | Получает размер фигуры в точках. |
| SoftEdge { get; } | Получает мягкое форматирование краев для фигуры. |
| StoryType { get; } | ВозвратTextbox . |
| Stroke { get; } | Определяет обводку для фигуры. |
| StrokeColor { get; set; } | Определяет цвет обводки. |
| Stroked { get; set; } | Определяет, будет ли контур обведен. |
| StrokeWeight { get; set; } | Определяет толщину кисти, обводящей контур фигуры, в точках. |
| Target { get; set; } | Получает или задает целевой фрейм для гиперссылки формы. |
| TextBox { get; } | Определяет атрибуты, которые указывают, как текст отображается в форме. |
| TextPath { get; } | Определяет текст текстового пути (объекта WordArt). |
| Title { get; set; } | Возвращает или задает заголовок (подпись) текущего объекта фигуры. |
| Top { get; set; } | Возвращает или задает положение верхнего края содержащего блока фигуры. |
| TopRelative { get; set; } | Возвращает или задает значение, представляющее относительное верхнее положение фигуры в процентах. |
| VerticalAlignment { get; set; } | Указывает, как фигура располагается по вертикали. |
| Width { get; set; } | Возвращает или задает ширину содержащего блока фигуры. |
| WidthRelative { get; set; } | Возвращает или задает значение, представляющее процент относительной ширины фигуры. |
| WrapSide { get; set; } | Указывает, как текст обтекает фигуру. |
| WrapType { get; set; } | Определяет, является ли фигура встроенной или плавающей. Для плавающих фигур определяет режим обтекания текста вокруг фигуры. |
| ZOrder { get; set; } | Определяет порядок отображения перекрывающихся фигур. |
Методы
| Имя | Описание |
|---|---|
| override Accept(DocumentVisitor) | Принимает посетителя. |
| override AcceptEnd(DocumentVisitor) | Принимает посетителя для посещения конца фигуры. |
| override AcceptStart(DocumentVisitor) | Принимает посетителя для посещения начала фигуры. |
| AdjustWithEffects(RectangleF) | Добавляет к исходному прямоугольнику значения степени эффекта и возвращает конечный прямоугольник. |
| AppendChild<T>(T) | Добавляет указанный узел в конец списка дочерних узлов для данного узла. |
| Clone(bool) | Создает дубликат узла. |
| CreateNavigator() | Создает навигатор, который можно использовать для перемещения и чтения узлов. |
| GetAncestor(NodeType) | Получает первого предка указанногоNodeType . |
| GetAncestor(Type) | Получает первого предка указанного типа объекта. |
| GetChild(NodeType, int, bool) | Возвращает N-й дочерний узел, соответствующий указанному типу. |
| GetChildNodes(NodeType, bool) | Возвращает живую коллекцию дочерних узлов, соответствующих указанному типу. |
| GetEnumerator() | Обеспечивает поддержку для каждой итерации стиля по дочерним узлам этого узла. |
| GetShapeRenderer() | Создает и возвращает объект, который можно использовать для преобразования этой фигуры в изображение. |
| override GetText() | Получает текст этого узла и всех его дочерних узлов. |
| IndexOf(Node) | Возвращает индекс указанного дочернего узла в массиве дочерних узлов. |
| InsertAfter<T>(T, Node) | Вставляет указанный узел сразу после указанного ссылочного узла. |
| InsertBefore<T>(T, Node) | Вставляет указанный узел непосредственно перед указанным ссылочным узлом. |
| LocalToParent(PointF) | Преобразует значение из локального координатного пространства в координатное пространство родительской фигуры. |
| NextPreOrder(Node) | Получает следующий узел в соответствии с алгоритмом обхода дерева предварительного порядка. |
| PrependChild<T>(T) | Добавляет указанный узел в начало списка дочерних узлов для данного узла. |
| PreviousPreOrder(Node) | Получает предыдущий узел в соответствии с алгоритмом обхода дерева предварительного порядка. |
| Remove() | Удаляет себя из родителя. |
| RemoveAllChildren() | Удаляет все дочерние узлы текущего узла. |
| RemoveChild<T>(T) | Удаляет указанный дочерний узел. |
| RemoveSmartTags() | Удаляет всеSmartTag узлы-потомки текущего узла. |
| SelectNodes(string) | Выбирает список узлов, соответствующих выражению XPath. |
| SelectSingleNode(string) | Выбирает первыйNode что соответствует выражению XPath. |
| ToString(SaveFormat) | Экспортирует содержимое узла в строку указанного формата. |
| ToString(SaveOptions) | Экспортирует содержимое узла в строку, используя указанные параметры сохранения. |
| UpdateSmartArtDrawing() | Обновляет предварительно отрисованный рисунок SmartArt с помощью движка холодного рендеринга SmartArt от Aspose.Words. |
Примечания
ИспользуяShape класс позволяет создавать или изменять фигуры в документе Microsoft Word.
Важным свойством фигуры является ееShapeTypeФигуры различных типов могут иметь разные возможности в документе Word. Например, только image и OLE shape могут иметь изображения внутри себя. Большинство фигур могут иметь текст, но не все.
Формы, которые могут иметь текст, могут содержатьParagraph и Table узлы как дочерние.
Примеры
Показывает, как вставить плавающее изображение в центр страницы.
Document doc = new Document();
DocumentBuilder builder = new DocumentBuilder(doc);
// Вставьте плавающее изображение, которое будет отображаться за перекрывающимся текстом, и выровняйте его по центру страницы.
Shape shape = builder.InsertImage(ImageDir + "Logo.jpg");
shape.WrapType = WrapType.None;
shape.BehindText = true;
shape.RelativeHorizontalPosition = RelativeHorizontalPosition.Page;
shape.RelativeVerticalPosition = RelativeVerticalPosition.Page;
shape.HorizontalAlignment = HorizontalAlignment.Center;
shape.VerticalAlignment = VerticalAlignment.Center;
doc.Save(ArtifactsDir + "Image.CreateFloatingPageCenter.docx");
Показывает, как извлекать изображения из документа и сохранять их в локальной файловой системе в виде отдельных файлов.
Document doc = new Document(MyDir + "Images.docx");
// Получить коллекцию фигур из документа,
// и сохранить данные изображения каждой фигуры с изображением в виде файла в локальной файловой системе.
NodeCollection shapes = doc.GetChildNodes(NodeType.Shape, true);
Assert.AreEqual(9, shapes.Count(s => ((Shape)s).HasImage));
int imageIndex = 0;
foreach (Shape shape in shapes.OfType<Shape>())
{
if (shape.HasImage)
{
// Данные изображений фигур могут содержать изображения многих возможных форматов изображений.
// Мы можем автоматически определить расширение файла для каждого изображения на основе его формата.
string imageFileName =
$"File.ExtractImages.{imageIndex}{FileFormatUtil.ImageTypeToExtension(shape.ImageData.ImageType)}";
shape.ImageData.Save(ArtifactsDir + imageFileName);
imageIndex++;
}
}
Показывает, как удалить все фигуры из документа.
Document doc = new Document();
DocumentBuilder builder = new DocumentBuilder(doc);
// Вставьте две фигуры вместе с групповой фигурой, внутри которой находится еще одна фигура.
builder.InsertShape(ShapeType.Rectangle, 400, 200);
builder.InsertShape(ShapeType.Star, 300, 300);
GroupShape group = new GroupShape(doc);
group.Bounds = new RectangleF(100, 50, 200, 100);
group.CoordOrigin = new Point(-1000, -500);
Shape subShape = new Shape(doc, ShapeType.Cube);
subShape.Width = 500;
subShape.Height = 700;
subShape.Left = 0;
subShape.Top = 0;
group.AppendChild(subShape);
builder.InsertNode(group);
Assert.AreEqual(3, doc.GetChildNodes(NodeType.Shape, true).Count);
Assert.AreEqual(1, doc.GetChildNodes(NodeType.GroupShape, true).Count);
// Удалить все узлы Shape из документа.
NodeCollection shapes = doc.GetChildNodes(NodeType.Shape, true);
shapes.Clear();
// Все фигуры исчезли, но групповая фигура все еще осталась в документе.
Assert.AreEqual(1, doc.GetChildNodes(NodeType.GroupShape, true).Count);
Assert.AreEqual(0, doc.GetChildNodes(NodeType.Shape, true).Count);
// Удалить все групповые фигуры по отдельности.
NodeCollection groupShapes = doc.GetChildNodes(NodeType.GroupShape, true);
groupShapes.Clear();
Assert.AreEqual(0, doc.GetChildNodes(NodeType.GroupShape, true).Count);
Assert.AreEqual(0, doc.GetChildNodes(NodeType.Shape, true).Count);
Смотрите также
- class ShapeBase
- пространство имен Aspose.Words.Drawing
- сборка Aspose.Words