Shape

Shape class

Stellt ein Objekt in der Zeichnungsebene dar, z. B. eine AutoForm, ein Textfeld, eine Freiform, ein OLE-Objekt, ein ActiveX-Steuerelement oder ein Bild.

Um mehr zu erfahren, besuchen Sie dieArbeiten mit Formen Dokumentationsartikel.

public sealed class Shape : ShapeBase

Konstrukteure

NameBeschreibung
Shape(DocumentBaseShapeType)Erstellt ein neues Formobjekt.

Eigenschaften

NameBeschreibung
AllowOverlap { get; set; }Ruft einen Wert ab oder legt diesen fest, der angibt, ob diese Form andere Formen überlappen kann.
AlternativeText { get; set; }Definiert alternativen Text, der anstelle einer Grafik angezeigt werden soll.
AnchorLocked { get; set; }Gibt an, ob der Anker der Form gesperrt ist.
AspectRatioLocked { get; set; }Gibt an, ob das Seitenverhältnis der Form gesperrt ist.
BehindText { get; set; }Gibt an, ob die Form unter oder über dem Text liegt.
Bottom { get; }Ermittelt die Position der Unterkante des enthaltenden Blocks der Form.
Bounds { get; set; }Ruft die Position und Größe des enthaltenden Blocks der Form ab oder legt diese fest.
BoundsInPoints { get; }Ruft die Position und Größe des enthaltenden Blocks der Form in Punkten ab, relativ zum Anker der obersten Form.
BoundsWithEffects { get; }Ruft die endgültige Ausdehnung ab, die dieses Formobjekt nach dem Anwenden von Zeichnungseffekten hat. Der Wert wird in Punkten gemessen.
CanHaveImage { get; }Gibt zurückWAHR wenn der Formtyp zulässt, dass die Form ein Bild hat.
Chart { get; }Bietet Zugriff auf die Diagrammeigenschaften, wenn diese Form über eine verfügtChart .
CoordOrigin { get; set; }Die Koordinaten in der oberen linken Ecke des enthaltenden Blocks dieser Form.
CoordSize { get; set; }Die Breite und Höhe des Koordinatenraums innerhalb des enthaltenden Blocks dieser Form.
Count { get; }Ruft die Anzahl der unmittelbaren Kinder dieses Knotens ab.
CustomNodeId { get; set; }Gibt die benutzerdefinierte Knotenkennung an.
DistanceBottom { get; set; }Gibt den Abstand (in Punkten) zwischen dem Dokumenttext und der Unterkante der Form zurück oder legt ihn fest.
DistanceLeft { get; set; }Gibt den Abstand (in Punkten) zwischen dem Dokumenttext und dem linken Rand der Form zurück oder legt ihn fest.
DistanceRight { get; set; }Gibt den Abstand (in Punkten) zwischen dem Dokumenttext und dem rechten Rand der Form zurück oder legt ihn fest.
DistanceTop { get; set; }Gibt den Abstand (in Punkten) zwischen dem Dokumenttext und der Oberkante der Form zurück oder legt ihn fest.
virtual Document { get; }Ruft das Dokument ab, zu dem dieser Knoten gehört.
ExtrusionEnabled { get; }Gibt zurückWAHR wenn ein Extrusionseffekt aktiviert ist.
Fill { get; }Ruft die Füllformatierung für die Form ab.
FillColor { get; set; }Definiert die Pinselfarbe, die den geschlossenen Pfad der Form ausfüllt.
Filled { get; set; }Legt fest, ob der geschlossene Pfad der Form gefüllt wird.
FirstChild { get; }Ruft das erste untergeordnete Element des Knotens ab.
FirstParagraph { get; }Ruft den ersten Absatz in der Form ab.
FlipOrientation { get; set; }Ändert die Ausrichtung einer Form.
Font { get; }Bietet Zugriff auf die Schriftartformatierung dieses Objekts.
HasChart { get; }Gibt zurückWAHR wenn dasShape hat einChart .
HasChildNodes { get; }Gibt zurückWAHR wenn dieser Knoten untergeordnete Knoten hat.
HasImage { get; }Gibt zurückWAHR wenn die Form Bildbytes hat oder ein Bild verknüpft.
HasSmartArt { get; }Gibt zurückWAHR wenn dasShape hat ein SmartArt-Objekt.
Height { get; set; }Ruft die Höhe des enthaltenden Blocks der Form ab oder legt sie fest.
HeightRelative { get; set; }Ruft den Wert ab, der den Prozentsatz der relativen Höhe der Form darstellt, oder legt diesen fest.
HorizontalAlignment { get; set; }Gibt an, wie die Form horizontal positioniert wird.
HorizontalRuleFormat { get; }Bietet Zugriff auf die Eigenschaften der horizontalen Regelform. Für eine Form, die keine horizontale Regel ist, wird zurückgegebenNull .
HRef { get; set; }Ruft die vollständige Hyperlink-Adresse für eine Form ab oder legt diese fest.
ImageData { get; }Bietet Zugriff auf das Bild der Form. Gibt zurückNull wenn die Form kein Bild haben kann.
override IsComposite { get; }Gibt zurückWAHR da dieser Knoten untergeordnete Knoten haben kann.
IsDecorative { get; set; }Ruft das Flag ab, das angibt, ob die Form im Dokument dekorativ ist, oder legt dieses fest.
IsDeleteRevision { get; }Gibt „true“ zurück, wenn dieses Objekt in Microsoft Word gelöscht wurde, während die Änderungsverfolgung aktiviert war.
IsGroup { get; }Gibt zurückWAHR wenn es sich um eine Gruppenform handelt.
IsHorizontalRule { get; }Gibt zurückWAHR wenn diese Form eine horizontale Regel ist.
IsImage { get; }Gibt zurückWAHR wenn diese Form eine Bildform ist.
IsInline { get; }Eine schnelle Möglichkeit, festzustellen, ob diese Form im Text positioniert ist.
IsInsertRevision { get; }Gibt „true“ zurück, wenn dieses Objekt in Microsoft Word eingefügt wurde, während die Änderungsverfolgung aktiviert war.
IsLayoutInCell { get; set; }Ruft ein Flag ab oder setzt es, das angibt, ob die Form innerhalb oder außerhalb einer Tabelle angezeigt wird.
IsMoveFromRevision { get; }Gibt zurückWAHR wenn dieses Objekt in Microsoft Word verschoben (gelöscht) wurde, während die Änderungsverfolgung aktiviert war.
IsMoveToRevision { get; }Gibt zurückWAHR wenn dieses Objekt in Microsoft Word verschoben (eingefügt) wurde, während die Änderungsverfolgung aktiviert war.
IsSignatureLine { get; }Gibt an, dass die Form ein istSignatureLine .
IsTopLevel { get; }Gibt zurückWAHRwenn diese Form kein untergeordnetes Element einer Gruppenform ist.
IsWordArt { get; }Gibt zurückWAHR wenn diese Form ein WordArt-Objekt ist.
LastChild { get; }Ruft das letzte untergeordnete Element des Knotens ab.
LastParagraph { get; }Ruft den letzten Absatz in der Form ab.
Left { get; set; }Ruft die Position der linken Kante des enthaltenden Blocks der Form ab oder legt diese fest.
LeftRelative { get; set; }Ruft den Wert ab, der die relative linke Position der Form in Prozent darstellt, oder legt diesen fest.
MarkupLanguage { get; }Ruft die für dieses Grafikobjekt verwendete MarkupLanguage ab.
Name { get; set; }Ruft den optionalen Formnamen ab oder legt ihn fest.
NextSibling { get; }Ruft den Knoten ab, der diesem Knoten unmittelbar folgt.
override NodeType { get; }Gibt zurückShape .
OleFormat { get; }Bietet Zugriff auf die OLE-Daten einer Form. Für eine Form, die kein OLE-Objekt oder ActiveX-Steuerelement ist, wird zurückgegebenNull .
ParentNode { get; }Ruft das unmittelbare übergeordnete Element dieses Knotens ab.
ParentParagraph { get; }Gibt den unmittelbar übergeordneten Absatz zurück.
PreviousSibling { get; }Ruft den Knoten ab, der diesem Knoten unmittelbar vorangeht.
Range { get; }Gibt a zurückRange Objekt, das den Teil eines Dokuments darstellt, der in diesem Knoten enthalten ist.
RelativeHorizontalPosition { get; set; }Gibt relativ zur horizontalen Positionierung der Form an.
RelativeHorizontalSize { get; set; }Ruft den Wert der relativen Größe der Form in horizontaler Richtung ab oder legt diesen fest.
RelativeVerticalPosition { get; set; }Gibt relativ zur vertikalen Positionierung der Form an.
RelativeVerticalSize { get; set; }Ruft den Wert der relativen Größe der Form in vertikaler Richtung ab oder legt diesen fest.
Right { get; }Ermittelt die Position der rechten Kante des enthaltenden Blocks der Form.
Rotation { get; set; }Definiert den Winkel (in Grad), um den eine Form gedreht wird. Positiver Wert entspricht dem Drehwinkel im Uhrzeigersinn.
ScreenTip { get; set; }Definiert den Text, der angezeigt wird, wenn der Mauszeiger über die Form bewegt.
ShadowEnabled { get; }Gibt zurückWAHR wenn ein Schatteneffekt aktiviert ist.
ShadowFormat { get; }Ruft die Schattenformatierung für die Form ab.
ShapeType { get; }Ruft den Formtyp ab.
SignatureLine { get; }Ruft abSignatureLine Objekt, wenn die Form eine Signaturlinie ist. Kehrt zurückNull sonst.
SizeInPoints { get; }Ermittelt die Größe der Form in Punkten.
StoryType { get; }Gibt zurückTextbox .
Stroke { get; }Definiert einen Strich für eine Form.
StrokeColor { get; set; }Definiert die Farbe eines Strichs.
Stroked { get; set; }Definiert, ob der Pfad gestrichen wird.
StrokeWeight { get; set; }Definiert die Pinselstärke, die den Pfad einer Form in Punkten streicht.
Target { get; set; }Ruft den Zielrahmen für den Form-Hyperlink ab oder legt diesen fest.
TextBox { get; }Definiert Attribute, die angeben, wie Text in einer Form angezeigt wird.
TextPath { get; }Definiert den Text des Textpfads (eines WordArt-Objekts).
Title { get; set; }Ruft den Titel (Beschriftung) des aktuellen Formobjekts ab oder legt diesen fest.
Top { get; set; }Ruft die Position der Oberkante des enthaltenden Blocks der Form ab oder legt diese fest.
TopRelative { get; set; }Ruft den Wert ab, der die relative obere Position der Form in Prozent darstellt, oder legt diesen fest.
VerticalAlignment { get; set; }Gibt an, wie die Form vertikal positioniert wird.
Width { get; set; }Ruft die Breite des enthaltenden Blocks der Form ab oder legt sie fest.
WidthRelative { get; set; }Ruft den Wert ab, der den Prozentsatz der relativen Breite der Form darstellt, oder legt diesen fest.
WrapSide { get; set; }Gibt an, wie der Text um die Form gewickelt wird.
WrapType { get; set; }Definiert, ob die Form inline oder schwebend ist. Für schwebende Formen definiert den Umbruchmodus für Text um die Form.
ZOrder { get; set; }Bestimmt die Anzeigereihenfolge überlappender Formen.

Methoden

NameBeschreibung
override Accept(DocumentVisitor)Akzeptiert einen Besucher.
AdjustWithEffects(RectangleF)Fügt zu den Quellrechteckwerten der Effektausdehnung hinzu und gibt das endgültige Rechteck zurück.
AppendChild(Node)Fügt den angegebenen Knoten am Ende der Liste der untergeordneten Knoten für diesen Knoten hinzu.
Clone(bool)Erstellt ein Duplikat des Knotens.
CreateNavigator()Erstellt einen Navigator, der zum Durchlaufen und Lesen von Knoten verwendet werden kann.
FetchInheritedShapeAttr(int)Reserviert für die Systemnutzung. IShapeAttrSource.
FetchShapeAttr(int)Reserviert für die Systemnutzung. IShapeAttrSource.
GetAncestor(NodeType)Ruft den ersten Vorfahren des angegebenen abNodeType .
GetAncestor(Type)Ruft den ersten Vorfahren des angegebenen Objekttyps ab.
GetChild(NodeType, int, bool)Gibt einen N-ten untergeordneten Knoten zurück, der dem angegebenen Typ entspricht.
GetChildNodes(NodeType, bool)Gibt eine Live-Sammlung untergeordneter Knoten zurück, die dem angegebenen Typ entsprechen.
GetDirectShapeAttr(int)Reserviert für die Systemnutzung. IShapeAttrSource.
GetEnumerator()Bietet Unterstützung für die Iteration jedes Stils über die untergeordneten Knoten dieses Knotens.
GetShapeRenderer()Erstellt ein Objekt und gibt es zurück, das zum Rendern dieser Form in ein Bild verwendet werden kann.
override GetText()Ruft den Text dieses Knotens und aller seiner untergeordneten Knoten ab.
IndexOf(Node)Gibt den Index des angegebenen untergeordneten Knotens im untergeordneten Knoten-Array zurück.
InsertAfter(NodeNode)Fügt den angegebenen Knoten unmittelbar nach dem angegebenen Referenzknoten ein.
InsertBefore(NodeNode)Fügt den angegebenen Knoten unmittelbar vor dem angegebenen Referenzknoten ein.
LocalToParent(PointF)Konvertiert einen Wert aus dem lokalen Koordinatenraum in den Koordinatenraum der übergeordneten Form.
NextPreOrder(Node)Ruft den nächsten Knoten gemäß dem Pre-Order-Tree-Traversal-Algorithmus ab.
PrependChild(Node)Fügt den angegebenen Knoten am Anfang der Liste der untergeordneten Knoten für diesen Knoten hinzu.
PreviousPreOrder(Node)Ruft den vorherigen Knoten gemäß dem Pre-Order-Tree-Traversal-Algorithmus ab.
Remove()Entfernt sich selbst vom übergeordneten Element.
RemoveAllChildren()Entfernt alle untergeordneten Knoten des aktuellen Knotens.
RemoveChild(Node)Entfernt den angegebenen untergeordneten Knoten.
RemoveShapeAttr(int)Reserviert für die Systemnutzung. IShapeAttrSource.
RemoveSmartTags()Entfernt alleSmartTagNachkommenknoten des aktuellen Knotens.
SelectNodes(string)Wählt eine Liste von Knoten aus, die dem XPath-Ausdruck entsprechen.
SelectSingleNode(string)Wählt den ersten ausNode das entspricht dem XPath-Ausdruck.
SetShapeAttr(int, object)Reserviert für die Systemnutzung. IShapeAttrSource.
ToString(SaveFormat)Exportiert den Inhalt des Knotens in einen String im angegebenen Format.
ToString(SaveOptions)Exportiert den Inhalt des Knotens mit den angegebenen Speicheroptionen in einen String.
UpdateSmartArtDrawing()Aktualisiert die vorgerenderte SmartArt-Zeichnung mithilfe der SmartArt-Cold-Rendering-Engine von Aspose.Words.

Bemerkungen

Verwendung derShape Mit der Klasse können Sie Formen in einem Microsoft Word-Dokument erstellen oder ändern.

Eine wichtige Eigenschaft einer Form ist ihreShapeTypeFormen verschiedener -Typen können in einem Word-Dokument unterschiedliche Funktionen haben. Beispielsweise können nur Bilder und OLE-Shapes Bilder enthalten. Die meisten Formen können Text enthalten, aber nicht alle.

Formen, die Text enthalten können, können enthaltenParagraph and Table Knoten als Kinder.

Beispiele

Zeigt, wie man ein schwebendes Bild in der Mitte einer Seite einfügt.

Document doc = new Document();
DocumentBuilder builder = new DocumentBuilder(doc);

// Fügen Sie ein schwebendes Bild ein, das hinter dem überlappenden Text erscheint, und richten Sie es in der Mitte der Seite aus.
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");

Zeigt, wie man Bilder aus einem Dokument extrahiert und sie als einzelne Dateien im lokalen Dateisystem speichert.

Document doc = new Document(MyDir + "Images.docx");

// Holen Sie sich die Formensammlung aus dem Dokument,
// und die Bilddaten jeder Form mit einem Bild als Datei im lokalen Dateisystem speichern.
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)
    {
         // Die Bilddaten von Formen können Bilder in vielen möglichen Bildformaten enthalten.
        // Wir können für jedes Bild automatisch eine Dateierweiterung anhand seines Formats ermitteln.
        string imageFileName =
            $"File.ExtractImages.{imageIndex}{FileFormatUtil.ImageTypeToExtension(shape.ImageData.ImageType)}";
        shape.ImageData.Save(ArtifactsDir + imageFileName);
        imageIndex++;
    }
}

Zeigt, wie alle Formen aus einem Dokument gelöscht werden.

Document doc = new Document();
DocumentBuilder builder = new DocumentBuilder(doc);

// Zwei Formen zusammen mit einer Gruppenform mit einer anderen Form darin einfügen.
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);

// Alle Shape-Knoten aus dem Dokument entfernen.
NodeCollection shapes = doc.GetChildNodes(NodeType.Shape, true);
shapes.Clear();

// Alle Formen sind verschwunden, aber die Gruppenform ist immer noch im Dokument.
Assert.AreEqual(1, doc.GetChildNodes(NodeType.GroupShape, true).Count);
Assert.AreEqual(0, doc.GetChildNodes(NodeType.Shape, true).Count);

// Alle Gruppenformen einzeln entfernen.
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);

Siehe auch