Shape
Shape class
Rappresenta un oggetto nel livello di disegno, ad esempio una forma, una casella di testo, una forma libera, un oggetto OLE, un controllo ActiveX o un’immagine.
Per saperne di più, visita ilLavorare con le forme articolo di documentazione.
public sealed class Shape : ShapeBase
Costruttori
Nome | Descrizione |
---|---|
Shape(DocumentBase, ShapeType) | Crea un nuovo oggetto forma. |
Proprietà
Nome | Descrizione |
---|---|
AllowOverlap { get; set; } | Ottiene o imposta un valore che specifica se questa forma può sovrapporsi ad altre forme. |
AlternativeText { get; set; } | Definisce il testo alternativo da visualizzare al posto dell’immagine. |
AnchorLocked { get; set; } | Specifica se l’ancoraggio della forma è bloccato. |
AspectRatioLocked { get; set; } | Specifica se le proporzioni della forma sono bloccate. |
BehindText { get; set; } | Specifica se la forma è sotto o sopra il testo. |
Bottom { get; } | Ottiene la posizione del bordo inferiore del blocco contenitore della forma. |
Bounds { get; set; } | Ottiene o imposta la posizione e la dimensione del blocco contenitore della forma. |
BoundsInPoints { get; } | Ottiene la posizione e la dimensione del blocco contenitore della forma in punti, rispetto all’ancoraggio della forma più in alto. |
BoundsWithEffects { get; } | Ottiene l’estensione finale dell’oggetto forma dopo l’applicazione degli effetti di disegno. Il valore è misurato in punti. |
CanHaveImage { get; } | RestituisceVERO se il tipo di forma consente alla forma di avere un’immagine. |
Chart { get; } | Fornisce l’accesso alle proprietà del grafico se questa forma ha unChart . |
CoordOrigin { get; set; } | Le coordinate nell’angolo in alto a sinistra del blocco contenitore di questa forma. |
CoordSize { get; set; } | La larghezza e l’altezza dello spazio delle coordinate all’interno del blocco contenitore di questa forma. |
Count { get; } | Ottiene il numero di figli immediati di questo nodo. |
CustomNodeId { get; set; } | Specifica l’identificatore del nodo personalizzato. |
DistanceBottom { get; set; } | Restituisce o imposta la distanza (in punti) tra il testo del documento e il bordo inferiore della forma. |
DistanceLeft { get; set; } | Restituisce o imposta la distanza (in punti) tra il testo del documento e il bordo sinistro della forma. |
DistanceRight { get; set; } | Restituisce o imposta la distanza (in punti) tra il testo del documento e il bordo destro della forma. |
DistanceTop { get; set; } | Restituisce o imposta la distanza (in punti) tra il testo del documento e il bordo superiore della forma. |
virtual Document { get; } | Ottiene il documento a cui appartiene questo nodo. |
ExtrusionEnabled { get; } | RestituisceVERO se è abilitato un effetto di estrusione. |
Fill { get; } | Ottiene la formattazione di riempimento per la forma. |
FillColor { get; set; } | Definisce il colore del pennello che riempie il percorso chiuso della forma. |
Filled { get; set; } | Determina se il percorso chiuso della forma verrà riempito. |
FirstChild { get; } | Ottiene il primo figlio del nodo. |
FirstParagraph { get; } | Ottiene il primo paragrafo nella forma. |
FlipOrientation { get; set; } | Cambia l’orientamento di una forma. |
Font { get; } | Fornisce l’accesso alla formattazione dei caratteri di questo oggetto. |
HasChart { get; } | RestituisceVERO se questoShape ha unChart . |
HasChildNodes { get; } | RestituisceVERO se questo nodo ha nodi figli. |
HasImage { get; } | RestituisceVERO se la forma ha byte di immagine o collega un’immagine. |
HasSmartArt { get; } | RestituisceVERO se questoShape ha un oggetto SmartArt. |
Height { get; set; } | Ottiene o imposta l’altezza del blocco contenitore della forma. |
HeightRelative { get; set; } | Ottiene o imposta il valore che rappresenta la percentuale dell’altezza relativa della forma. |
HorizontalAlignment { get; set; } | Specifica come viene posizionata la forma orizzontalmente. |
HorizontalRuleFormat { get; } | Fornisce l’accesso alle proprietà della forma del filetto orizzontale. Per una forma che non è un filetto orizzontale, restituiscenullo . |
HRef { get; set; } | Ottiene o imposta l’indirizzo completo del collegamento ipertestuale per una forma. |
ImageData { get; } | Fornisce l’accesso all’immagine della forma. Restituiscenullo se la forma non può avere un’immagine. |
override IsComposite { get; } | RestituisceVERO poiché questo nodo può avere nodi figli. |
IsDecorative { get; set; } | Ottiene o imposta il flag che specifica se la forma è decorativa nel documento. |
IsDeleteRevision { get; } | Restituisce vero se questo oggetto è stato eliminato in Microsoft Word mentre era abilitato il rilevamento delle modifiche. |
IsGroup { get; } | RestituisceVERO se questa è una forma di gruppo. |
IsHorizontalRule { get; } | RestituisceVERO se questa forma è una riga orizzontale. |
IsImage { get; } | RestituisceVERO se questa forma è una forma immagine. |
IsInline { get; } | Un modo rapido per determinare se questa forma è posizionata in linea con il testo. |
IsInsertRevision { get; } | Restituisce vero se questo oggetto è stato inserito in Microsoft Word mentre il rilevamento delle modifiche era abilitato. |
IsLayoutInCell { get; set; } | Ottiene o imposta un flag che indica se la forma viene visualizzata all’interno o all’esterno di una tabella. |
IsMoveFromRevision { get; } | RestituisceVERO se questo oggetto è stato spostato (eliminato) in Microsoft Word mentre il rilevamento delle modifiche era abilitato. |
IsMoveToRevision { get; } | RestituisceVERO se questo oggetto è stato spostato (inserito) in Microsoft Word mentre il rilevamento delle modifiche era abilitato. |
IsSignatureLine { get; } | Indica che la forma è aSignatureLine . |
IsTopLevel { get; } | RestituisceVERO se questa forma non è figlia di una forma di gruppo. |
IsWordArt { get; } | RestituisceVERO se questa forma è un oggetto WordArt. |
LastChild { get; } | Ottiene l’ultimo figlio del nodo. |
LastParagraph { get; } | Ottiene l’ultimo paragrafo nella forma. |
Left { get; set; } | Ottiene o imposta la posizione del bordo sinistro del blocco contenitore della forma. |
LeftRelative { get; set; } | Ottiene o imposta il valore che rappresenta la posizione relativa a sinistra della forma in percentuale. |
MarkupLanguage { get; } | Ottiene MarkupLanguage utilizzato per questo oggetto grafico. |
Name { get; set; } | Ottiene o imposta il nome della forma opzionale. |
NextSibling { get; } | Ottiene il nodo immediatamente successivo a questo nodo. |
override NodeType { get; } | RestituisceShape . |
OleFormat { get; } | Fornisce l’accesso ai dati OLE di una forma. Per una forma che non è un oggetto OLE o un controllo ActiveX, restituiscenullo . |
ParentNode { get; } | Ottiene il genitore immediato di questo nodo. |
ParentParagraph { get; } | Restituisce il paragrafo principale immediato. |
PreviousSibling { get; } | Ottiene il nodo immediatamente precedente questo nodo. |
Range { get; } | Restituisce aRange oggetto che rappresenta la porzione di documento contenuta in questo nodo. |
RelativeHorizontalPosition { get; set; } | Specifica in relazione a come è posizionata la forma orizzontalmente. |
RelativeHorizontalSize { get; set; } | Ottiene o imposta il valore della dimensione relativa della forma nella direzione orizzontale. |
RelativeVerticalPosition { get; set; } | Specifica rispetto a come è posizionata verticalmente la forma. |
RelativeVerticalSize { get; set; } | Ottiene o imposta il valore della dimensione relativa della forma in direzione verticale. |
Right { get; } | Ottiene la posizione del bordo destro del blocco contenitore della forma. |
Rotation { get; set; } | Definisce l’angolo (in gradi) di rotazione di una forma. Il valore positivo corrisponde all’angolo di rotazione in senso orario. |
ScreenTip { get; set; } | Definisce il testo visualizzato quando il puntatore del mouse si sposta sulla forma. |
ShadowEnabled { get; } | RestituisceVERO se è abilitato un effetto ombra. |
ShadowFormat { get; } | Ottiene la formattazione dell’ombra per la forma. |
ShapeType { get; } | Ottiene il tipo di forma. |
SignatureLine { get; } | OttieneSignatureLine oggetto se la forma è una linea di firma. ritornanullo altrimenti. |
SizeInPoints { get; } | Ottiene la dimensione della forma in punti. |
StoryType { get; } | RestituisceTextbox . |
Stroke { get; } | Definisce un tratto per una forma. |
StrokeColor { get; set; } | Definisce il colore di un tratto. |
Stroked { get; set; } | Definisce se il percorso verrà tracciato. |
StrokeWeight { get; set; } | Definisce lo spessore del pennello che traccia il percorso di una forma in punti. |
Target { get; set; } | Ottiene o imposta il frame di destinazione per il collegamento ipertestuale della forma. |
TextBox { get; } | Definisce gli attributi che specificano come il testo viene visualizzato in una forma. |
TextPath { get; } | Definisce il testo del percorso testo (di un oggetto WordArt). |
Title { get; set; } | Ottiene o imposta il titolo (didascalia) dell’oggetto forma corrente. |
Top { get; set; } | Ottiene o imposta la posizione del bordo superiore del blocco contenitore della forma. |
TopRelative { get; set; } | Ottiene o imposta il valore che rappresenta la posizione superiore relativa della forma in percentuale. |
VerticalAlignment { get; set; } | Specifica come viene posizionata la forma verticalmente. |
Width { get; set; } | Ottiene o imposta la larghezza del blocco contenitore della forma. |
WidthRelative { get; set; } | Ottiene o imposta il valore che rappresenta la percentuale della larghezza relativa della forma. |
WrapSide { get; set; } | Specifica come il testo viene disposto attorno alla forma. |
WrapType { get; set; } | Definisce se la forma è in linea o mobile. Per le forme fluttuanti definisce la modalità di disposizione del testo attorno alla forma. |
ZOrder { get; set; } | Determina l’ordine di visualizzazione delle forme sovrapposte. |
Metodi
Nome | Descrizione |
---|---|
override Accept(DocumentVisitor) | Accetta un visitatore. |
AdjustWithEffects(RectangleF) | Aggiunge al rettangolo di origine i valori dell’estensione dell’effetto e restituisce il rettangolo finale. |
AppendChild(Node) | Aggiunge il nodo specificato alla fine dell’elenco dei nodi secondari per questo nodo. |
Clone(bool) | Crea un duplicato del nodo. |
CreateNavigator() | Crea un navigatore che può essere utilizzato per attraversare e leggere i nodi. |
FetchInheritedShapeAttr(int) | Riservato per l’uso del sistema. IShapeAttrSource. |
FetchShapeAttr(int) | Riservato per l’uso del sistema. IShapeAttrSource. |
GetAncestor(NodeType) | Ottiene il primo antenato dell’oggetto specificatoNodeType . |
GetAncestor(Type) | Ottiene il primo antenato del tipo di oggetto specificato. |
GetChild(NodeType, int, bool) | Restituisce un Nesimo nodo figlio che corrisponde al tipo specificato. |
GetChildNodes(NodeType, bool) | Restituisce una raccolta attiva di nodi secondari che corrispondono al tipo specificato. |
GetDirectShapeAttr(int) | Riservato per l’uso del sistema. IShapeAttrSource. |
GetEnumerator() | Fornisce il supporto per l’iterazione di ogni stile sui nodi figlio di questo nodo. |
GetShapeRenderer() | Crea e restituisce un oggetto che può essere utilizzato per eseguire il rendering di questa forma in un’immagine. |
override GetText() | Ottiene il testo di questo nodo e di tutti i suoi figli. |
IndexOf(Node) | Restituisce l’indice del nodo figlio specificato nell’array di nodi figlio. |
InsertAfter(Node, Node) | Inserisce il nodo specificato immediatamente dopo il nodo di riferimento specificato. |
InsertBefore(Node, Node) | Inserisce il nodo specificato immediatamente prima del nodo di riferimento specificato. |
LocalToParent(PointF) | Converte un valore dallo spazio delle coordinate locali nello spazio delle coordinate della forma genitore. |
NextPreOrder(Node) | Ottiene il nodo successivo in base all’algoritmo di attraversamento dell’albero di preordine. |
PrependChild(Node) | Aggiunge il nodo specificato all’inizio dell’elenco dei nodi secondari per questo nodo. |
PreviousPreOrder(Node) | Ottiene il nodo precedente in base all’algoritmo di attraversamento dell’albero di preordine. |
Remove() | Si rimuove dal genitore. |
RemoveAllChildren() | Rimuove tutti i nodi figlio del nodo corrente. |
RemoveChild(Node) | Rimuove il nodo figlio specificato. |
RemoveShapeAttr(int) | Riservato per l’uso del sistema. IShapeAttrSource. |
RemoveSmartTags() | Rimuove tuttoSmartTag nodi discendenti del nodo corrente. |
SelectNodes(string) | Seleziona un elenco di nodi che corrispondono all’espressione XPath. |
SelectSingleNode(string) | Seleziona il primoNode che corrisponde all’espressione XPath. |
SetShapeAttr(int, object) | Riservato per l’uso del sistema. IShapeAttrSource. |
ToString(SaveFormat) | Esporta il contenuto del nodo in una stringa nel formato specificato. |
ToString(SaveOptions) | Esporta il contenuto del nodo in una stringa utilizzando le opzioni di salvataggio specificate. |
UpdateSmartArtDrawing() | Aggiorna il disegno pre-renderizzato SmartArt utilizzando il motore di rendering a freddo SmartArt di Aspose.Words. |
Osservazioni
Usando ilShape
classe puoi creare o modificare forme in un documento di Microsoft Word.
Una proprietà importante di una forma è la suaShapeType
Forme di tipi diversi possono avere funzionalità diverse in un documento di Word. Ad esempio, solo image e OLE Shapes possono contenere immagini al loro interno. La maggior parte delle forme può contenere testo, ma non tutte.
Le forme che possono contenere testo possono contenereParagraph
e Table
nodi da bambini.
Esempi
Mostra come inserire un’immagine mobile al centro di una pagina.
Document doc = new Document();
DocumentBuilder builder = new DocumentBuilder(doc);
// Inserisci un'immagine mobile che apparirà dietro il testo sovrapposto e allineala al centro della pagina.
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");
Mostra come estrarre immagini da un documento e salvarle nel file system locale come singoli file.
Document doc = new Document(MyDir + "Images.docx");
// Ottieni la raccolta di forme dal documento,
// e salva i dati dell'immagine di ogni forma con un'immagine come file nel file system locale.
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)
{
// I dati immagine delle forme possono contenere immagini di molti possibili formati immagine.
// Possiamo determinare automaticamente un'estensione di file per ciascuna immagine, in base al suo formato.
string imageFileName =
$"File.ExtractImages.{imageIndex}{FileFormatUtil.ImageTypeToExtension(shape.ImageData.ImageType)}";
shape.ImageData.Save(ArtifactsDir + imageFileName);
imageIndex++;
}
}
Mostra come eliminare tutte le forme da un documento.
Document doc = new Document();
DocumentBuilder builder = new DocumentBuilder(doc);
// Inserisci due forme insieme a una forma di gruppo con un'altra forma al suo interno.
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);
// Rimuove tutti i nodi Forma dal documento.
NodeCollection shapes = doc.GetChildNodes(NodeType.Shape, true);
shapes.Clear();
// Tutte le forme sono scomparse, ma la forma del gruppo è ancora nel documento.
Assert.AreEqual(1, doc.GetChildNodes(NodeType.GroupShape, true).Count);
Assert.AreEqual(0, doc.GetChildNodes(NodeType.Shape, true).Count);
// Rimuove tutte le forme del gruppo separatamente.
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);
Guarda anche
- class ShapeBase
- spazio dei nomi Aspose.Words.Drawing
- assemblea Aspose.Words