public static void SaveToIpe(List <IFeatureLayer> pFLayerLt, IEnvelope pFLayerEnv, CEnvelope pIpeEnv, bool blnGroup, string strBoundWidth, CParameterInitialize ParameterInitialize, bool blnLayerToLeft = true) { var strContent = GetScaleLegend(pFLayerEnv, pIpeEnv, CHelpFunc.GetUnits(ParameterInitialize.m_mapControl.MapUnits)); for (int i = 0; i < pFLayerLt.Count; i++) { var pFLayer = pFLayerLt[i] as IFeatureLayer; var strDataOfFLayer = CToIpe.GetDataOfFeatureLayer(pFLayer, pFLayerEnv, pIpeEnv, strBoundWidth, true); if (blnGroup == true) { strDataOfFLayer = "<group>\n" + strDataOfFLayer + "</group>\n"; } strContent += strDataOfFLayer; if (blnLayerToLeft == true) { pIpeEnv.XMin -= pIpeEnv.Width; pIpeEnv.XMax -= pIpeEnv.Width; } } string strFullName = ParameterInitialize.strSavePath + "\\" + CHelpFunc.GetTimeStamp() + ".ipe"; using (var writer = new System.IO.StreamWriter(strFullName, true)) { writer.Write(CIpeDraw.GenerateIpeXMLWithContent(strContent)); } System.Diagnostics.Process.Start(@strFullName); }
public static void SaveToIpe(List <IFeatureLayer> pFLayerLt, IEnvelope pFLayerEnv, CEnvelope pIpeEnv, bool blnGroup, string strBoundWidth, CParameterInitialize ParameterInitialize, bool blnLayerToLeft = true) { //save path //CHelpFunc.SetSavePath(ParameterInitialize); // double dblFactorIpeToLayer = pIpeEnv.Height / pFLayerEnv.Height; // double dblLegend16 = 16 / dblFactorIpeToLayer; // int intLegendInt = CMath.GetNumberTidy(dblLegend16); // double dblLegentInt = intLegendInt * dblFactorIpeToLayer; // //add legend (unit and a sample line), draw a line with length 32 in ipe // string strData = CIpeDraw.writeIpeText(dblLegend16 + " " + ParameterInitialize.m_mapControl.MapUnits.ToString(), 320, 80) + // CIpeDraw.drawIpeEdge(320, 64, 336, 64); // strData += CIpeDraw.writeIpeText(intLegendInt + " " + ParameterInitialize.m_mapControl.MapUnits.ToString(), 320, 32) + //CIpeDraw.drawIpeEdge(320, 16, 320 + dblLegentInt, 16) + //CIpeDraw.drawIpeEdge(320, 16, 320, 20) + CIpeDraw.drawIpeEdge(320 + dblLegentInt, 16, 320 + dblLegentInt, 20); var strData = GetScaleLegend(pFLayerEnv, pIpeEnv, CHelpFunc.GetUnits(ParameterInitialize.m_mapControl.MapUnits)); //var tt = ParameterInitialize.m_mapControl. for (int i = 0; i < pFLayerLt.Count; i++) { var pFLayer = pFLayerLt[i] as IFeatureLayer; if (blnGroup == true) { strData += "<group>\n"; } strData += CToIpe.GetDataOfFeatureLayer(pFLayer, pFLayerEnv, pIpeEnv, strBoundWidth, true); if (blnGroup == true) { strData += "</group>\n"; } if (blnLayerToLeft == true) { pIpeEnv.XMin -= pIpeEnv.Width; pIpeEnv.XMax -= pIpeEnv.Width; } } string strFullName = ParameterInitialize.strSavePath + "\\" + CHelpFunc.GetTimeStamp() + ".ipe"; using (var writer = new System.IO.StreamWriter(strFullName, true)) { writer.Write(CIpeDraw.GenerateIpeContentByData(strData)); } System.Diagnostics.Process.Start(@strFullName); }