Gráficos y Dibujo
Gráficos y Dibujo
Aspose.PDF FOSS para .NET incluye un subsistema de dibujo para agregar gráficos vectoriales a páginas PDF. El contenedor Graph contiene elementos de forma (Line, Arc, Circle) y se agrega a la colección Paragraphs de una página.
Creando un contenedor de gráfico
Graph define un área dibujable con un ancho y una altura especificados.
using var doc = new Document();
var page = doc.Pages.Add();
var graph = new Graph(400, 200);
page.Paragraphs.Add(graph);Dibujando líneas
var line = new Line(new float[] { 0, 0, 300, 100 });
graph.Shapes.Add(line);Dibujando arcos y 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);Trabajando con colores
La clase Color proporciona métodos de fábrica para RGB, ARGB y colores con nombre.
var red = Color.FromRgb(1.0, 0.0, 0.0);
var semiTransparent = Color.FromArgb(128, 0, 0, 255);Dibujar rutas
DrawingPath admite MoveTo, LineTo, CurveTo y Close para formas vectoriales libres.
var path = new DrawingPath();
path.MoveTo(10, 10);
path.LineTo(100, 10);
path.CurveTo(150, 50, 150, 100, 100, 100);
path.Close();Formatos de imagen
ImageFormat proporciona valores de enumeración para formatos raster utilizados al convertir páginas a imágenes: Bmp, Jpeg, Png, Tiff, Gif.
Consejos y Mejores Prácticas
- Establezca las dimensiones del gráfico para que coincidan con el área en la que desea dibujar — las coordenadas dentro de
Graphson relativas a sus límites. - Use
Color.FromArgbpara rellenos semitransparentes (soporte de canal alfa). - Combine múltiples formas en un solo
Graphpara una renderización eficiente. DrawingPathes ideal para curvas Bezier complejas y formas de polígonos arbitrarios.- Añada el
Grapha la colecciónParagraphsde la página — no lo añada a anotaciones.
Problemas comunes
| Problema | Causa | Solución |
|---|---|---|
| Forma no visible | Dimensiones del gráfico demasiado pequeñas para las coordenadas de la forma | Aumente el ancho/alto de Graph o escale las coordenadas de la forma |
| Los colores aparecen diferentes en el visor | Desajuste del espacio de color | Utilice Color.FromRgb con valores en el rango 0.0-1.0 |
| El dibujo se superpone al texto | Gráfico colocado en posición incorrecta en el flujo del párrafo | Ajuste el orden de los párrafos o use FloatingBox para posicionamiento absoluto |
Preguntas frecuentes
¿Puedo dibujar formas rellenas?
Sí. Establezca la propiedad GraphInfo.FillColor de la forma para rellenar con un color sólido.
¿Cómo posiciono un Graph en coordenadas específicas de la página?
Envuelva el Graph en un FloatingBox y establezca sus propiedades Left y Top para posicionamiento absoluto.
¿La biblioteca admite degradados?
Las clases Shading admiten patrones de sombreado básicos. Utilice DrawingPath con sombreado para rellenos degradados.
Resumen de Referencia de API
| Clase / Método | Descripción |
|---|---|
Graph | Contenedor para formas dibujables, añadido a los párrafos de la página |
Line | Línea recta entre dos o más puntos |
Arc | Arco circular definido por centro, radio y ángulos |
Circle | Forma de círculo definida por centro y radio |
DrawingPath | Ruta libre con MoveTo, LineTo, CurveTo, Close |
Color | Valor de color con RGB, ARGB y métodos de fábrica |
Color.FromRgb | Crear un color a partir de componentes RGB |
Color.FromArgb | Crear un color con transparencia alfa |
GraphicElementCollection | Colección de elementos gráficos en una página |
ImageFormat | Enumeración de formatos de imagen raster (Bmp, Jpeg, Png, Tiff, Gif) |