Grafică și Desen
Grafică și desen
Aspose.PDF FOSS for .NET include un subsistem de desenare pentru adăugarea graficelor vectoriale pe paginile PDF. Containerul Graph conține elemente de formă (Line, Arc, Circle) și este adăugat la colecția Paragraphs a paginii.
Crearea unui container de grafic
Graph definește o zonă desenabilă cu o lățime și înălțime specificate.
using var doc = new Document();
var page = doc.Pages.Add();
var graph = new Graph(400, 200);
page.Paragraphs.Add(graph);Desenarea liniilor
var line = new Line(new float[] { 0, 0, 300, 100 });
graph.Shapes.Add(line);Desenarea arcelor și cercurilor
var arc = new Arc(150, 100, 80, 0, 180);
graph.Shapes.Add(arc);
var circle = new Circle(150, 100, 50);
graph.Shapes.Add(circle);Lucrul cu culorile
Clasa Color furnizează metode de fabrică pentru RGB, ARGB și culori denumite.
var red = Color.FromRgb(1.0, 0.0, 0.0);
var semiTransparent = Color.FromArgb(128, 0, 0, 255);Trasee de desenare
DrawingPath suportă MoveTo, LineTo, CurveTo și Close pentru forme vectoriale libere.
var path = new DrawingPath();
path.MoveTo(10, 10);
path.LineTo(100, 10);
path.CurveTo(150, 50, 150, 100, 100, 100);
path.Close();Formate de imagine
ImageFormat furnizează valori de enumerare pentru formatele raster utilizate la conversia paginilor în imagini: Bmp, Jpeg, Png, Tiff, Gif.
Sfaturi și cele mai bune practici
- Setați dimensiunile graficului pentru a se potrivi cu zona în care doriți să desenați — coordonatele din interiorul
Graphsunt relative la limitele sale. - Utilizați
Color.FromArgbpentru umpleri semi-transparente (suport pentru canal alfa). - Combinați mai multe forme într-un singur
Graphpentru redare eficientă. DrawingPatheste ideal pentru curbe Bezier complexe și forme poligonale arbitrare.- Adăugați
Graphla colecțiaParagraphsa paginii — nu o adăugați la adnotări.
Probleme comune
| Problem | Cauză | Remediere |
|---|---|---|
| Forma nu este vizibilă | Dimensiunile graficului sunt prea mici pentru coordonatele formei | Măriți lățimea/înălțimea Graph sau scalați coordonatele formei |
| Culorile apar diferit în vizualizator | Neconcordanță a spațiului de culoare | Utilizați Color.FromRgb cu valori în intervalul 0.0-1.0 |
| Desenul se suprapune textului | Graficul este plasat în poziția greșită în fluxul paragrafului | Ajustați ordinea paragrafelor sau utilizați FloatingBox pentru poziționare absolută |
Întrebări frecvente
Pot desena forme umplute?
Da. Setează proprietatea GraphInfo.FillColor a formei pentru a umple cu o culoare solidă.
Cum pot poziționa un Graph la coordonate specifice ale paginii?
Încadrează Graph într-un FloatingBox și setează proprietățile Left și Top pentru poziționare absolută.
Biblioteca acceptă degradeuri?
Clasele Shading suportă modele de umbrire de bază. Utilizați DrawingPath cu umbrire pentru umpleri gradient.
Sumar referință API
| Clasă / Metodă | Descriere |
|---|---|
Graph | Container pentru forme desenabile, adăugat la paragrafele paginii |
Line | Linie dreaptă între două sau mai multe puncte |
Arc | Arc circular definit de centru, rază și unghiuri |
Circle | Formă de cerc definită de centru și rază |
DrawingPath | Cale liberă cu MoveTo, LineTo, CurveTo, Close |
Color | Valoare de culoare cu RGB, ARGB și metode de fabrică |
Color.FromRgb | Creează o culoare din componentele RGB |
Color.FromArgb | Creează o culoare cu transparență alfa |
GraphicElementCollection | Colecție de elemente grafice pe o pagină |
ImageFormat | Enumerare a formatelor de imagini raster (Bmp, Jpeg, Png, Tiff, Gif) |