Ejemplo n.º 1
0
        public void MXGraphTest()
        {
            log.logStartPhase("MXGraph", "Texting Draw.io create/load/save");

            folderNode rootNode = new folderNode();

            rootNode.AttachSubfolders();

            var dgml = new DirectedGraph();

            dgml.Populate <folderNode>(rootNode, x => x,
                                       x => x.path,
                                       x => x.caption,
                                       true,
                                       false);

            mxGraph mxg = directedGraphToMXGraph.ConvertToMXGraph(dgml);

            String drawio_path = folderResults.pathFor("MXGraphTest.drawio", imbSCI.Data.enums.getWritableFileMode.overwrite, "Resaving loaded DMGL object");

            String drawio_jpg = folderResults.pathFor("MXGraphTest.jpg", imbSCI.Data.enums.getWritableFileMode.overwrite, "Resaving loaded DMGL object");


            Image img = mxCellRenderer.CreateImage(mxg, mxg.GetChildCells(mxg, false, false), 1.0, Color.LightGray, true, new mxRectangle(0, 0, 1000, 500));

            img.Save(drawio_jpg, ImageFormat.Jpeg);

            var     doc   = new XmlDocument();
            mxCodec codec = new mxCodec();
            XmlNode node  = codec.Encode(mxg.Model);


            doc.LoadXml(node.OuterXml);
            doc.Save(drawio_path);


            log.logEndPhase();
        }