DrawText() public method

public DrawText ( string text, double emSize, Color foreground, Point origin ) : void
text string
emSize double
foreground Color
origin Point
return void
コード例 #1
0
        public String toImageSVG(UndirectedGraph<Pixel, TaggedUndirectedEdge<Pixel, EdgeTag>> g, string fileName = "image.svg")
        {
            svg = new SVGDocument(Width * scale + 1, Height * scale + 1);
            //Percorre o Grafo e desenha o pixelart como SVG
            svg.DrawCellBorder(DrawCellBorder);

            foreach (var v in g.Vertices)
            {
                //Desenha o quadrado do pixelart
                if (DrawPixelArt)
                {
                    svg.DrawRectangle(v.color,
                        Color.Black,
                         1,
                         v.x * scale,
                         v.y * scale,
                         scale,
                         scale);
                }

                //desenha novo formato das celulas
                if (DrawNewCells && !DrawNewControlPoints)
                {

                    String points = "";
                    foreach (Point p in v.points)
                    {
                        points += p.X.ToString() + "," + p.Y.ToString() + " ";
                    }
                    //Console.WriteLine(points);
                    if (v.color.A != 255) // Se cor é transparente, mostra como branco
                        svg.DrawPolygon(Color.White, Color.Black, 0.100, points);
                    else
                        svg.DrawPolygon(v.color, Color.Black, 0.100, points);

                }

                //desenha o nodo
                if (DrawVertex)
                {
                    svg.DrawCircle(Color.Blue,
                        Color.Transparent,
                        0,
                        v.x * scale + scale / 2,
                        v.y * scale + scale / 2,
                        scale < 10 ? 1 : scale / 10);
                    if (DrawValence)
                    {
                        svg.DrawText(v.valence.ToString(),
                            30.0,
                            Color.White,
                            new Point(v.x * scale + scale / 2, v.y * scale + scale / 2));
                    }
                }

            }

            //desenha os vertices
            if (DrawEdges)
            {
                foreach (var v in g.Edges)
                {
                    svg.DrawLine(Color.Blue, 0.800,
                        v.Source.x * scale + scale / 2,
                        v.Source.y * scale + scale / 2,
                        v.Target.x * scale + scale / 2,
                        v.Target.y * scale + scale / 2);
                }
            }

            //Retorna o nome do arquivo salvo
            svg.Save(fileName);
            return fileName;
        }