Gráficos e Desenho

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 Graph são relativas aos seus limites.
  • Use Color.FromArgb para preenchimentos semitransparentes (suporte ao canal alfa).
  • Combine várias formas em um único Graph para renderização eficiente.
  • DrawingPath é ideal para curvas de Bézier complexas e formas de polígonos arbitrários.
  • Adicione o Graph à coleção Paragraphs da página — não o adicione às anotações.

Problemas Comuns

IssueCauseFix
Forma não visívelDimensões do gráfico muito pequenas para as coordenadas da formaAumente Graph largura/altura ou escale as coordenadas da forma
Cores aparecem diferentes no visualizadorIncompatibilidade de espaço de corUse Color.FromRgb com valores no intervalo 0.0-1.0
Desenho sobrepõe textoGráfico colocado na posição errada no fluxo do parágrafoAjuste 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étodoDescrição
GraphContêiner para formas desenháveis, adicionadas aos parágrafos da página
LineLinha reta entre dois ou mais pontos
ArcArco circular definido por centro, raio e ângulos
CircleForma de círculo definida por centro e raio
DrawingPathCaminho livre com MoveTo, LineTo, CurveTo, Close
ColorValor de cor com RGB, ARGB e métodos de fábrica
Color.FromRgbCriar uma cor a partir de componentes RGB
Color.FromArgbCriar uma cor com transparência alfa
GraphicElementCollectionColeção de elementos gráficos em uma página
ImageFormatEnumeração de formatos de imagem raster (Bmp, Jpeg, Png, Tiff, Gif)

Veja Também

 Português