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