Gráficos e Desenho
Gráficos e Desenho
Aspose.PDF FOSS for .NET inclui um subsistema de desenho para adicionar gráficos
vetoriais a páginas PDF. O contêiner Graph contém elementos de forma (Line,
Arc, Circle) e é adicionado à coleção Paragraphs de uma página.
Criando um contêiner de gráfico
Graph define uma área desenhável com largura e altura especificadas.
using var doc = new Document();
var page = doc.Pages.Add();
var graph = new Graph(400, 200);
page.Paragraphs.Add(graph);Desenhando linhas
var line = new Line(new float[] { 0, 0, 300, 100 });
graph.Shapes.Add(line);Desenhando arcos e círculos
var arc = new Arc(150, 100, 80, 0, 180);
graph.Shapes.Add(arc);
var circle = new Circle(150, 100, 50);
graph.Shapes.Add(circle);Trabalhando com cores
A classe Color fornece métodos de fábrica para RGB, ARGB e cores nomeadas.
var red = Color.FromRgb(1.0, 0.0, 0.0);
var semiTransparent = Color.FromArgb(128, 0, 0, 255);Desenhando caminhos
DrawingPath suporta MoveTo, LineTo, CurveTo e Close para formas vetoriais livres.
var path = new DrawingPath();
path.MoveTo(10, 10);
path.LineTo(100, 10);
path.CurveTo(150, 50, 150, 100, 100, 100);
path.Close();Formatos de imagem
ImageFormat fornece valores de enumeração para formatos raster usados ao converter páginas em imagens: Bmp, Jpeg, Png, Tiff, Gif.
Dicas e Melhores Práticas
- Defina as dimensões do gráfico para corresponder à área em que deseja desenhar — as coordenadas dentro
Graphsão relativas aos seus limites. - Use
Color.FromArgbpara preenchimentos semitransparentes (suporte ao canal alfa). - Combine várias formas em um único
Graphpara renderização eficiente. DrawingPathé ideal para curvas de Bézier complexas e formas de polígonos arbitrários.- Adicione o
Graphà coleçãoParagraphsda página — não o adicione às anotações.
Problemas Comuns
| Issue | Cause | Fix |
|---|---|---|
| Forma não visível | Dimensões do gráfico muito pequenas para as coordenadas da forma | Aumente Graph largura/altura ou escale as coordenadas da forma |
| Cores aparecem diferentes no visualizador | Incompatibilidade de espaço de cor | Use Color.FromRgb com valores no intervalo 0.0-1.0 |
| Desenho sobrepõe texto | Gráfico colocado na posição errada no fluxo do parágrafo | Ajuste a ordem dos parágrafos ou use FloatingBox para posicionamento absoluto |
Perguntas Frequentes
Posso desenhar formas preenchidas?
Sim. Defina a propriedade GraphInfo.FillColor da forma para preenchimento com uma cor sólida.
Como posicionar um Graph em coordenadas específicas da página?
Envolva o Graph em um FloatingBox e defina suas propriedades Left e Top para posicionamento absoluto.
A biblioteca suporta gradientes?
As classes Shading suportam padrões básicos de sombreamento. Use DrawingPath com sombreamento para preenchimentos em degradê.
Resumo da Referência da API
| Classe / Método | Descrição |
|---|---|
Graph | Contêiner para formas desenháveis, adicionadas aos parágrafos da página |
Line | Linha reta entre dois ou mais pontos |
Arc | Arco circular definido por centro, raio e ângulos |
Circle | Forma de círculo definida por centro e raio |
DrawingPath | Caminho livre com MoveTo, LineTo, CurveTo, Close |
Color | Valor de cor com RGB, ARGB e métodos de fábrica |
Color.FromRgb | Criar uma cor a partir de componentes RGB |
Color.FromArgb | Criar uma cor com transparência alfa |
GraphicElementCollection | Coleção de elementos gráficos em uma página |
ImageFormat | Enumeração de formatos de imagem raster (Bmp, Jpeg, Png, Tiff, Gif) |