Shape

Shape class

Representerar ett objekt i ritskiktet, till exempel en AutoShape, textbox, freeform, OLE-objekt, ActiveX-kontroll eller bild.

För att lära dig mer, besökArbeta med former dokumentationsartikel.

public sealed class Shape : ShapeBase

Konstruktörer

namnBeskrivning
Shape(DocumentBaseShapeType)Skapar ett nytt formobjekt.

Egenskaper

namnBeskrivning
AllowOverlap { get; set; }Hämtar eller ställer in ett värde som anger om denna form kan överlappa andra former.
AlternativeText { get; set; }Definierar alternativ text som ska visas istället för en grafik.
AnchorLocked { get; set; }Anger om formens ankare är låst.
AspectRatioLocked { get; set; }Anger om formens bildförhållande är låst.
BehindText { get; set; }Anger om formen är under eller över text.
Bottom { get; }Hämtar positionen för den nedre kanten av det innehållande blocket av formen.
Bounds { get; set; }Hämtar eller ställer in platsen och storleken på formens innehållsblock.
BoundsInPoints { get; }Hämtar platsen och storleken på formens innehållande block i punkter, i förhållande till ankaret för den översta formen.
BoundsWithEffects { get; }Får den slutliga omfattningen som detta formobjekt har efter applicering av ritningseffekter. Värdet mäts i punkter.
CanHaveImage { get; }ReturnerarSann om formtypen tillåter att formen har en bild.
Chart { get; }Ger tillgång till diagramegenskaperna om denna form har enChart .
CoordOrigin { get; set; }Koordinaterna i det övre vänstra hörnet av det innehållande blocket med denna form.
CoordSize { get; set; }Bredden och höjden på koordinatutrymmet inuti det innehållande blocket med denna form.
Count { get; }Hämtar antalet omedelbara barn till denna nod.
CustomNodeId { get; set; }Anger anpassad nodidentifierare.
DistanceBottom { get; set; }Returnerar eller ställer in avståndet (i punkter) mellan dokumenttexten och den nedre kanten av formen.
DistanceLeft { get; set; }Returnerar eller ställer in avståndet (i punkter) mellan dokumenttexten och den vänstra kanten av formen.
DistanceRight { get; set; }Returnerar eller ställer in avståndet (i punkter) mellan dokumenttexten och den högra kanten av formen.
DistanceTop { get; set; }Returnerar eller ställer in avståndet (i punkter) mellan dokumenttexten och formens övre kant.
virtual Document { get; }Hämtar dokumentet som denna nod tillhör.
ExtrusionEnabled { get; }ReturnerarSann om en extruderingseffekt är aktiverad.
Fill { get; }Får fyllningsformatering för formen.
FillColor { get; set; }Definierar penselfärgen som fyller den stängda banan för formen.
Filled { get; set; }Bestämmer om den stängda vägen för formen kommer att fyllas.
FirstChild { get; }Får det första barnet i noden.
FirstParagraph { get; }Får första stycket i formen.
FlipOrientation { get; set; }Ändrar orienteringen för en form.
Font { get; }Ger tillgång till teckensnittsformateringen för detta objekt.
HasChart { get; }ReturnerarSann om det härShape har enChart .
HasChildNodes { get; }ReturnerarSann om denna nod har några undernoder.
HasImage { get; }ReturnerarSann om formen har bildbytes eller länkar en bild.
HasSmartArt { get; }ReturnerarSann om det härShape har ett SmartArt-objekt.
Height { get; set; }Hämtar eller ställer in höjden på formens innehållsblock.
HeightRelative { get; set; }Hämtar eller ställer in värdet som representerar procentandelen av formens relativa höjd.
HorizontalAlignment { get; set; }Anger hur formen placeras horisontellt.
HorizontalRuleFormat { get; }Ger tillgång till egenskaperna för den horisontella regelformen. För en form som inte är en horisontell regel, returnerarnull .
HRef { get; set; }Hämtar eller ställer in den fullständiga hyperlänkadressen för en form.
ImageData { get; }Ger tillgång till bilden av formen. Returnerarnull om formen inte kan ha en bild.
override IsComposite { get; }ReturnerarSann eftersom denna nod kan ha underordnade noder.
IsDecorative { get; set; }Hämtar eller ställer in flaggan som anger om formen är dekorativ i dokumentet.
IsDeleteRevision { get; }Returnerar sant om detta objekt raderades i Microsoft Word medan ändringsspårning var aktiverad.
IsGroup { get; }ReturnerarSann om detta är en gruppform.
IsHorizontalRule { get; }ReturnerarSann om denna form är en horisontell regel.
IsImage { get; }ReturnerarSann om denna form är en bildform.
IsInline { get; }Ett snabbt sätt att avgöra om denna form är placerad i linje med text.
IsInsertRevision { get; }Returnerar sant om det här objektet infogades i Microsoft Word medan ändringsspårning var aktiverad.
IsLayoutInCell { get; set; }Hämtar eller sätter en flagga som indikerar om formen visas inuti en tabell eller utanför den.
IsMoveFromRevision { get; }ReturnerarSann om det här objektet flyttades (borttogs) i Microsoft Word medan ändringsspårning var aktiverad.
IsMoveToRevision { get; }ReturnerarSann om detta objekt flyttades (infogades) i Microsoft Word medan ändringsspårning var aktiverad.
IsSignatureLine { get; }Indikerar att formen är enSignatureLine .
IsTopLevel { get; }ReturnerarSannom denna form inte är ett underordnat till en gruppform.
IsWordArt { get; }ReturnerarSann om den här formen är ett WordArt-objekt.
LastChild { get; }Hämtar nodens sista underordnade.
LastParagraph { get; }Får det sista stycket i formen.
Left { get; set; }Hämtar eller ställer in positionen för den vänstra kanten av formens innehållsblock.
LeftRelative { get; set; }Hämtar eller ställer in värdet som representerar formens relativa vänstra position i procent.
MarkupLanguage { get; }Får MarkupLanguage som används för detta grafiska objekt.
Name { get; set; }Hämtar eller ställer in det valfria formnamnet.
NextSibling { get; }Hämtar noden omedelbart efter denna nod.
override NodeType { get; }ReturnerarShape .
OleFormat { get; }Ger tillgång till OLE-data för en form. För en form som inte är ett OLE-objekt eller ActiveX-kontroll, returnerasnull .
ParentNode { get; }Hämtar den omedelbara föräldern till denna nod.
ParentParagraph { get; }Returnerar det omedelbara överordnade stycket.
PreviousSibling { get; }Hämtar noden omedelbart före denna nod.
Range { get; }Returnerar enRange objekt som representerar den del av ett dokument som finns i denna nod.
RelativeHorizontalPosition { get; set; }Anger i förhållande till vad formen är placerad horisontellt.
RelativeHorizontalSize { get; set; }Hämtar eller ställer in värdet på formens relativa storlek i horisontell riktning.
RelativeVerticalPosition { get; set; }Anger i förhållande till vad formen är placerad vertikalt.
RelativeVerticalSize { get; set; }Hämtar eller ställer in värdet på formens relativa storlek i vertikal riktning.
Right { get; }Får positionen för den högra kanten av det innehållande blocket av formen.
Rotation { get; set; }Definierar vinkeln (i grader) som en form roteras. Positivt värde motsvarar medurs rotationsvinkel.
ScreenTip { get; set; }Definierar texten som visas när muspekaren rör sig över formen.
ShadowEnabled { get; }ReturnerarSann om en skuggeffekt är aktiverad.
ShadowFormat { get; }Får skuggformatering för formen.
ShapeType { get; }Hämtar formtypen.
SignatureLine { get; }BlirSignatureLine objekt om formen är en signaturlinje. Returnerarnull annars.
SizeInPoints { get; }Får formens storlek i poäng.
StoryType { get; }ReturnerarTextbox .
Stroke { get; }Definierar ett streck för en form.
StrokeColor { get; set; }Definierar färgen på ett streck.
Stroked { get; set; }Definierar om sökvägen ska streckas.
StrokeWeight { get; set; }Definierar penseltjockleken som sträcker banan för en form i punkter.
Target { get; set; }Hämtar eller ställer in målramen för formhyperlänken.
TextBox { get; }Definierar attribut som anger hur text visas i en form.
TextPath { get; }Definierar texten för textsökvägen (för ett WordArt-objekt).
Title { get; set; }Hämtar eller ställer in titeln (bildtexten) för det aktuella formobjektet.
Top { get; set; }Hämtar eller ställer in positionen för den övre kanten av formens innehållsblock.
TopRelative { get; set; }Hämtar eller ställer in värdet som representerar formens relativa topposition i procent.
VerticalAlignment { get; set; }Anger hur formen är placerad vertikalt.
Width { get; set; }Hämtar eller ställer in bredden på formens innehållsblock.
WidthRelative { get; set; }Hämtar eller ställer in värdet som representerar procentandelen av formens relativa bredd.
WrapSide { get; set; }Anger hur texten lindas runt formen.
WrapType { get; set; }Definierar om formen är inline eller flytande. För flytande former definierar lindningsläget för text runt formen.
ZOrder { get; set; }Bestämmer visningsordningen för överlappande former.

Metoder

namnBeskrivning
override Accept(DocumentVisitor)Accepterar en besökare.
AdjustWithEffects(RectangleF)Lägger till källrektangelvärdena för effektomfattningen och returnerar den sista rektangeln.
AppendChild(Node)Lägger till den angivna noden i slutet av listan över underordnade noder för denna nod.
Clone(bool)Skapar en dubblett av noden.
CreateNavigator()Skapar navigator som kan användas för att korsa och läsa noder.
FetchInheritedShapeAttr(int)Reserverad för systemanvändning. IShapeAttrSource.
FetchShapeAttr(int)Reserverad för systemanvändning. IShapeAttrSource.
GetAncestor(NodeType)Hämtar den första förfadern till den angivnaNodeType .
GetAncestor(Type)Hämtar den första förfadern till den angivna objekttypen.
GetChild(NodeType, int, bool)Returnerar en N:te underordnad nod som matchar den angivna typen.
GetChildNodes(NodeType, bool)Returnerar en aktiv samling av underordnade noder som matchar den angivna typen.
GetDirectShapeAttr(int)Reserverad för systemanvändning. IShapeAttrSource.
GetEnumerator()Tillhandahåller stöd för varje stiliteration över undernoderna för denna nod.
GetShapeRenderer()Skapar och returnerar ett objekt som kan användas för att återge denna form till en bild.
override GetText()Hämtar texten för denna nod och alla dess underordnade.
IndexOf(Node)Returnerar indexet för den angivna undernoden i den underordnade nodmatrisen.
InsertAfter(NodeNode)Infogar den angivna noden omedelbart efter den angivna referensnoden.
InsertBefore(NodeNode)Infogar den angivna noden omedelbart före den angivna referensnoden.
LocalToParent(PointF)Konverterar ett värde från det lokala koordinatutrymmet till koordinatutrymmet för den överordnade formen.
NextPreOrder(Node)Hämtar nästa nod enligt algoritmen för förbeställningsträdet.
PrependChild(Node)Lägger till den angivna noden i början av listan över underordnade noder för denna nod.
PreviousPreOrder(Node)Hämtar föregående nod enligt algoritmen för förbeställningsträdet.
Remove()Tar bort sig själv från föräldern.
RemoveAllChildren()Tar bort alla undernoder för den aktuella noden.
RemoveChild(Node)Tar bort den angivna underordnade noden.
RemoveShapeAttr(int)Reserverad för systemanvändning. IShapeAttrSource.
RemoveSmartTags()Tar bort allaSmartTagunderliggande noder till den aktuella noden.
SelectNodes(string)Väljer en lista med noder som matchar XPath-uttrycket.
SelectSingleNode(string)Väljer den förstaNode som matchar XPath-uttrycket.
SetShapeAttr(int, object)Reserverad för systemanvändning. IShapeAttrSource.
ToString(SaveFormat)Exporterar innehållet i noden till en sträng i angivet format.
ToString(SaveOptions)Exporterar innehållet i noden till en sträng med de angivna sparalternativen.
UpdateSmartArtDrawing()Uppdaterar SmartArt förrenderad ritning genom att använda Aspose.Words SmartArt kall renderingsmotor.

Anmärkningar

AnvändaShape klass kan du skapa eller ändra former i ett Microsoft Word-dokument.

En viktig egenskap hos en form är dessShapeTypeFormer av olika -typer kan ha olika möjligheter i ett Word-dokument. Till exempel kan endast bild och OLE shapes ha bilder inuti dem. De flesta formerna kan ha text, men inte alla.

Former som kan ha text, kan innehållaParagraph och Table noder som barn.

Exempel

Visar hur man infogar en flytande bild i mitten av en sida.

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

// Infoga en flytande bild som kommer att visas bakom den överlappande texten och justera den mot sidans mitt.
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");

Visar hur man extraherar bilder från ett dokument och sparar dem i det lokala filsystemet som enskilda filer.

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

// Hämta samlingen av former från dokumentet,
// och spara bilddata för varje form med en bild som en fil till det lokala filsystemet.
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)
    {
         // Bilddata för former kan innehålla bilder av många möjliga bildformat.
        // Vi kan bestämma en filtillägg för varje bild automatiskt, baserat på dess format.
        string imageFileName =
            $"File.ExtractImages.{imageIndex}{FileFormatUtil.ImageTypeToExtension(shape.ImageData.ImageType)}";
        shape.ImageData.Save(ArtifactsDir + imageFileName);
        imageIndex++;
    }
}

Visar hur man tar bort alla former från ett dokument.

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

// Infoga två former tillsammans med en gruppform med en annan form inuti.
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);

// Ta bort alla Shape-noder från dokumentet.
NodeCollection shapes = doc.GetChildNodes(NodeType.Shape, true);
shapes.Clear();

// Alla former är borta, men gruppformen finns kvar i dokumentet.
Assert.AreEqual(1, doc.GetChildNodes(NodeType.GroupShape, true).Count);
Assert.AreEqual(0, doc.GetChildNodes(NodeType.Shape, true).Count);

// Ta bort alla gruppformer separat.
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);

Se även