Grafica e Disegno
Grafica e Disegno
Aspose.PDF FOSS for .NET include un sottosistema di disegno per aggiungere grafica vettoriale alle pagine PDF. Il contenitore Graph contiene gli elementi di forma (Line, Arc, Circle) ed è aggiunto alla collezione Paragraphs di una pagina.
Creazione di un contenitore grafico
Graph definisce un’area disegnabile con una larghezza e un’altezza specificate.
using var doc = new Document();
var page = doc.Pages.Add();
var graph = new Graph(400, 200);
page.Paragraphs.Add(graph);Disegnare linee
var line = new Line(new float[] { 0, 0, 300, 100 });
graph.Shapes.Add(line);Disegnare archi e cerchi
var arc = new Arc(150, 100, 80, 0, 180);
graph.Shapes.Add(arc);
var circle = new Circle(150, 100, 50);
graph.Shapes.Add(circle);Lavorare con i colori
La classe Color fornisce metodi factory per RGB, ARGB e colori denominati.
var red = Color.FromRgb(1.0, 0.0, 0.0);
var semiTransparent = Color.FromArgb(128, 0, 0, 255);Disegnare percorsi
DrawingPath supporta MoveTo, LineTo, CurveTo e Close per forme vettoriali libere.
var path = new DrawingPath();
path.MoveTo(10, 10);
path.LineTo(100, 10);
path.CurveTo(150, 50, 150, 100, 100, 100);
path.Close();Formati immagine
ImageFormat fornisce valori di enumerazione per i formati raster utilizzati quando si convertono pagine in immagini: Bmp, Jpeg, Png, Tiff, Gif.
Suggerimenti e migliori pratiche
- Imposta le dimensioni del grafico per corrispondere all’area in cui desideri disegnare — le coordinate all’interno di
Graphsono relative ai suoi limiti. - Usa
Color.FromArgbper riempimenti semitrasparenti (supporto canale alfa). - Combina più forme in un unico
Graphper un rendering efficiente. DrawingPathè ideale per curve di Bezier complesse e forme poligonali arbitrarie.- Aggiungi
Graphalla collezioneParagraphsdella pagina — non aggiungerlo alle annotazioni.
Problemi comuni
| Problema | Causa | Correzione |
|---|---|---|
| Forma non visibile | Dimensioni del grafico troppo piccole per le coordinate della forma | Aumentare la larghezza/altezza di Graph o scalare le coordinate della forma |
| I colori appaiono diversi nel visualizzatore | Mancata corrispondenza dello spazio colore | Usare Color.FromRgb con valori nell’intervallo 0.0-1.0 |
| Il disegno si sovrappone al testo | Grafico posizionato nella posizione sbagliata nel flusso del paragrafo | Regolare l’ordine dei paragrafi o usare FloatingBox per il posizionamento assoluto |
FAQ
Posso disegnare forme riempite?
Sì. Imposta la proprietà GraphInfo.FillColor della forma per riempirla con un colore solido.
Come posizionare un Graph a coordinate di pagina specifiche?
Avvolgi il Graph in un FloatingBox e imposta le sue proprietà Left e Top per il posizionamento assoluto.
La libreria supporta i gradienti?
Le classi Shading supportano i pattern di ombreggiatura di base. Usa DrawingPath con ombreggiatura per riempimenti a gradiente.
Riepilogo del Riferimento API
| Classe / Metodo | Descrizione |
|---|---|
Graph | Contenitore per forme disegnabili, aggiunto ai paragrafi della pagina |
Line | Linea retta tra due o più punti |
Arc | Arco circolare definito da centro, raggio e angoli |
Circle | Forma circolare definita da centro e raggio |
DrawingPath | Percorso libero con MoveTo, LineTo, CurveTo, Close |
Color | Valore di colore con RGB, ARGB e metodi factory |
Color.FromRgb | Crea un colore da componenti RGB |
Color.FromArgb | Crea un colore con trasparenza alfa |
GraphicElementCollection | Collezione di elementi grafici su una pagina |
ImageFormat | Enumerazione dei formati di immagine raster (Bmp, Jpeg, Png, Tiff, Gif) |