Shape
Shape class
Rappresenta un oggetto nel livello di disegno, ad esempio una forma automatica, una casella di testo, un oggetto libero, 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 |
---|---|
Adjustments { get; } | Fornisce l’accesso ai valori grezzi di regolazione di una forma. Per una forma che non contiene valori grezzi di regolazione, restituisce una raccolta vuota. |
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 di un’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 si trova 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 di questo 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; } | Larghezza e 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 tracciato 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 del carattere di questo oggetto. |
Glow { get; } | Ottiene la formattazione bagliore per la forma. |
HasChart { get; } | RestituisceVERO se questoShape ha unChart . |
HasChildNodes { get; } | RestituisceVERO se questo nodo ha nodi figlio. |
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. |
Hidden { get; set; } | Ottiene o imposta un valore booleano che indica se la forma è visibile. |
HorizontalAlignment { get; set; } | Specifica come la forma è posizionata orizzontalmente. |
HorizontalRuleFormat { get; } | Fornisce l’accesso alle proprietà della forma della regola orizzontale. Per una forma che non è una regola orizzontale, restituiscenull . |
HRef { get; set; } | Ottiene o imposta l’indirizzo completo del collegamento ipertestuale per una forma. |
ImageData { get; } | Fornisce l’accesso all’immagine della forma. Restituiscenull se la forma non può avere un’immagine. |
override IsComposite { get; } | RestituisceVERO poiché questo nodo può avere nodi figlio. |
IsDecorative { get; set; } | Ottiene o imposta il flag che specifica se la forma è decorativa nel documento. |
IsDeleteRevision { get; } | Restituisce true se questo oggetto è stato eliminato in Microsoft Word mentre il monitoraggio delle modifiche era abilitato. |
IsGroup { get; } | RestituisceVERO se questa è una forma di gruppo. |
IsHorizontalRule { get; } | RestituisceVERO se questa forma è una regola 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 true 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 di una tabella o all’esterno di essa. |
IsMoveFromRevision { get; } | RestituisceVERO se questo oggetto è stato spostato (eliminato) in Microsoft Word mentre il monitoraggio delle modifiche era abilitato. |
IsMoveToRevision { get; } | RestituisceVERO se questo oggetto è stato spostato (inserito) in Microsoft Word mentre il monitoraggio delle modifiche era abilitato. |
IsSignatureLine { get; } | Indica che la forma è unaSignatureLine . |
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 il MarkupLanguage utilizzato per questo oggetto grafico. |
Name { get; set; } | Ottiene o imposta il nome facoltativo della forma. |
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, restituiscenull . |
ParentNode { get; } | Ottiene il genitore immediato di questo nodo. |
ParentParagraph { get; } | Restituisce il paragrafo padre immediato. |
PreviousSibling { get; } | Ottiene il nodo immediatamente precedente questo nodo. |
Range { get; } | Restituisce unRange oggetto che rappresenta la porzione di un documento contenuta in questo nodo. |
Reflection { get; } | Ottiene la formattazione della riflessione per la forma. |
RelativeHorizontalPosition { get; set; } | Specifica in relazione a cosa è posizionata orizzontalmente la forma. |
RelativeHorizontalSize { get; set; } | Ottiene o imposta il valore della dimensione relativa della forma in direzione orizzontale. |
RelativeVerticalPosition { get; set; } | Specifica in relazione a cosa è 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 riga della firma. Restituiscenull altrimenti. |
SizeInPoints { get; } | Ottiene la dimensione della forma in punti. |
SoftEdge { get; } | Ottiene la formattazione dei bordi sfumati per la forma. |
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 viene visualizzato il testo in una forma. |
TextPath { get; } | Definisce il testo del percorso di 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 la forma è posizionata 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 mobili, definisce la modalità di avvolgimento 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. |
override AcceptEnd(DocumentVisitor) | Accetta un visitatore per aver visitato la fine della forma. |
override AcceptStart(DocumentVisitor) | Accetta un visitatore per aver visitato l’inizio della forma. |
AdjustWithEffects(RectangleF) | Aggiunge al rettangolo sorgente i valori dell’estensione dell’effetto e restituisce il rettangolo finale. |
AppendChild<T>(T) | Aggiunge il nodo specificato alla fine dell’elenco dei nodi figlio per questo nodo. |
Clone(bool) | Crea un duplicato del nodo. |
CreateNavigator() | Crea un navigatore che può essere utilizzato per attraversare e leggere i nodi. |
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 N-esimo nodo figlio che corrisponde al tipo specificato. |
GetChildNodes(NodeType, bool) | Restituisce una raccolta live di nodi figlio che corrispondono al tipo specificato. |
GetEnumerator() | Fornisce supporto per ogni iterazione di stile sui nodi figlio di questo nodo. |
GetShapeRenderer() | Crea e restituisce un oggetto che può essere utilizzato per trasformare 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 dei nodi figlio. |
InsertAfter<T>(T, Node) | Inserisce il nodo specificato subito dopo il nodo di riferimento specificato. |
InsertBefore<T>(T, 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 padre. |
NextPreOrder(Node) | Ottiene il nodo successivo in base all’algoritmo di attraversamento dell’albero preordinato. |
PrependChild<T>(T) | Aggiunge il nodo specificato all’inizio dell’elenco dei nodi figlio per questo nodo. |
PreviousPreOrder(Node) | Ottiene il nodo precedente secondo l’algoritmo di attraversamento dell’albero preordinato. |
Remove() | Si rimuove dal genitore. |
RemoveAllChildren() | Rimuove tutti i nodi figlio del nodo corrente. |
RemoveChild<T>(T) | Rimuove il nodo figlio specificato. |
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. |
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
Utilizzando ilShape
classe puoi creare o modificare forme in un documento Microsoft Word.
Una proprietà importante di una forma è la suaShapeType
Forme di tipi diversi possono avere funzionalità diverse in un documento Word. Ad esempio, solo le forme immagine e OLE 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 come figli.
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 file singoli.
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.
// Possiamo determinare automaticamente un'estensione di file per ogni 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 sparite, ma la forma del gruppo è ancora presente nel documento.
Assert.AreEqual(1, doc.GetChildNodes(NodeType.GroupShape, true).Count);
Assert.AreEqual(0, doc.GetChildNodes(NodeType.Shape, true).Count);
// Rimuovi tutte le forme di 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