コード例 #1
0
ファイル: IOHandler.cs プロジェクト: 3c3/GRAPHical_learner
        public static void SaveGraphPicture(string filename, Graph graph)
        {
            float minX = 999999;
            float maxX = -999999;
            float minY = 999999;
            float maxY = -99999;

            foreach(Vertex v in graph.vertices)
            {
                if (v.x < minX) minX = v.x;
                if (v.x > maxX) maxX = v.x;
                if (v.y < minY) minY = v.y;
                if (v.y > maxY) maxY = v.y;
            }

            minX -= 25;
            maxX += 25;
            minY -= 25;
            maxY += 25;

            uint width = 3*(uint)(maxX - minX);
            uint height = 3*(uint)(maxY - minY);

            RenderTexture tx = new RenderTexture(width, height);
            tx.Clear(Color.Black);

            RenderFrame rf = new RenderFrame();
            rf.width = width;
            rf.height = height;
            rf.xCenter = minX + width;
            rf.yCenter = minY + height;
            rf.zoom = 1.2f;

            graph.DrawSelf(tx, rf);

            tx.Texture.CopyToImage().SaveToFile("graph.png");
        }