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"); }