public void InserLegendSymbol(LJJSPoint ptBase, double legendUnitWith, double legendUnitHeigh) { double xscale = 1; double yscale = 1; double xoffset = 0; if (_legendstyle == LegendStyle.SymbolStyle) { if (_symbolWidth > legendUnitWith) { xscale = legendUnitWith / _symbolWidth; } if ((_symbolHeigh > legendUnitHeigh) || (_ifZXEnlarge)) { yscale = legendUnitHeigh / _symbolHeigh; } if (_symbolWidth + 0.05 < legendUnitWith) { xoffset = (legendUnitWith - _symbolWidth) / 2; } LJJSPoint inserpos = new LJJSPoint(ptBase.XValue + xoffset, ptBase.YValue); SymbolAdd.InsertBlock(_symbolcode, xscale, yscale, inserpos); } else if (_legendstyle == LegendStyle.YSTxtStyle) { LJJSText.AddHorCommonText(_symbolcode, new LJJSPoint(ptBase.XValue + legendUnitWith * 0.5, ptBase.YValue), 0, AttachmentPoint.MiddleCenter, ystxtheigh, "宋体"); } }
public override List <ulong> BuildLineRoadTitleName() { string lineRoadName = lineRoadDrawingModel.LineRoadStruc.LineRoadName; if (string.IsNullOrEmpty(lineRoadName)) { return(new List <ulong>()); } lineRoadName = lineRoadName.Trim(); double PerWordSpace = 5; double xvalue = this.lineRoadDrawingModel.PtStart.XValue + 0.5 * this.lineRoadDrawingModel.LineRoadStruc.LineRoadWidth; double yend = this.lineRoadDrawingModel.PtStart.YValue + DrawCommonData.DirectionUp * this.lineRoadDrawingModel.LineRoadStruc.LineroadTitleHeight; LJJSPoint titleEndPtStart = new LJJSPoint(xvalue, yend); string[] lrnamearr = lineRoadName.Split(perWordSplitter); if (null != lrnamearr && lrnamearr.Count() > 0) { for (int i = lrnamearr.Count(); i > 0; i--) { LJJSText.AddHorCommonText(lrnamearr[i - 1], new LJJSPoint(xvalue, yend), Color.Black.ToArgb(), AttachmentPoint.BottomCenter, TextFontManage.LineRoadName); yend = yend + FrameDesign.PictureItemTxtHeight * 1.6 + PerWordSpace; } } return(new List <ulong>()); }
public override ulong BuildBiLiChi() { LJJSPoint pt = new LJJSPoint(FrameDrawImpl.FrameWidth * 0.5, 5 + legendEndPt.YValue);//解析该绘图点的起始位置,距离高度仅仅为5 int headercolor = StrUtil.StrToInt(FrameDesign.CorTxtColor, DrawCommonData.BlackColorRGB, "比例尺颜色设计有误"); return(LJJSText.AddHorCommonText(FrameDesign.CorValue, pt, headercolor, AttachmentPoint.BottomCenter, TextFontManage.BiLiChi)); }
public override void DrawPerJDJSZMLineBiaoZhu(DrawingElement.LJJSPoint biaoZhuPosition, double BiaoZhuContent) { // new LJJSPoint(dengfenptarr[i].XValue+jingShenDesignStruc.MainKDLength,dengfenptarr[i].YValue) //f (ifAddBiaoZhu) ////??? nanikole? //return /**if(ifAddBiaoZhu == true) * { * return; //me ! me! me! * }**/ if (this._lineRoadModel.IfLeftSecondKD && this._lineRoadModel.IfRightSecondKD)//左右都标有刻度;此时,标注中间位置; { LJJSPoint insPoint = new LJJSPoint(this._ptStart.XValue + 0.5 * this._lineroadwidth, biaoZhuPosition.YValue); //??? LJJSText.AddHorCommonText(BiaoZhuContent.ToString(), insPoint, DrawCommonData.BlackColorRGB, AttachmentPoint.BottomCenter, jingShenDesignStruc.BZTxtHeigh, jingShenDesignStruc.BZTxtFont); } else if (this._lineRoadModel.IfLeftSecondKD)//左侧有次刻度,此时标注左侧; //每次断点都走这里 { LJJSPoint insPoint = new LJJSPoint(this._ptStart.XValue + jingShenDesignStruc.MainKDLength, biaoZhuPosition.YValue); LJJSText.AddHorCommonText(BiaoZhuContent.ToString(), insPoint, DrawCommonData.BlackColorRGB, AttachmentPoint.BottomLeft, jingShenDesignStruc.BZTxtHeigh, jingShenDesignStruc.BZTxtFont); } else if (this._lineRoadModel.IfRightSecondKD)//右侧有次刻度,此时标注右侧; { LJJSPoint insPoint = new LJJSPoint(this._ptStart.XValue + this._lineroadwidth - jingShenDesignStruc.MainKDLength, biaoZhuPosition.YValue); LJJSText.AddHorCommonText(BiaoZhuContent.ToString(), insPoint, DrawCommonData.BlackColorRGB, AttachmentPoint.BottomRight, jingShenDesignStruc.BZTxtHeigh, jingShenDesignStruc.BZTxtFont); } }
private void AddDuiShuiKDCBZLineToFigure(LJJSPoint ptStart, double kdclen) { double tmpxstart = ptStart.XValue; double tmpystart = ptStart.YValue; double duishuX = _KMin; LJJSPoint tmpkdstartpt, tmpkdendpt; double duibilen = 0;//相对于起点的位移; while ((Math.Abs(duibilen)) <= kdclen) { for (int i = 2; i <= 10; i++) { int tencount = DuiShuOper.GetTenCount(duishuX); double AddSpace = Math.Pow(10, tencount);//增加量; duishuX = duishuX + AddSpace; duibilen = _KDir * _KParm * (Math.Log10(duishuX) - Math.Log10(_KMin)); if ((Math.Abs(duibilen)) <= kdclen) { tmpxstart = ptStart.XValue + duibilen; tmpkdstartpt = new LJJSPoint(tmpxstart, tmpystart); tmpkdendpt = new LJJSPoint(tmpxstart, tmpystart + _kdPosition * _kdLineLen); Line.BuildCommonSoldLine(tmpkdstartpt, tmpkdendpt, _KCol, _kLineWidth); //ArxCSHelper.AddPolyline2d(tmpkdstartpt, tmpkdendpt, _kLineWidth); if (i == 10) { LJJSText.AddHorCommonText(duishuX.ToString(), tmpkdendpt, _KCol, AttachmentPoint.BottomCenter, _BZTextSize, _bzTextStyle); // ArxCSHelper.AddMText(duishuX.ToString(), _BZTextSize, tmpkdendpt, AttachmentPoint.BottomCenter, _bzTextStyle); } } } } LJJSPoint bzptstart; if (_KDir.Equals(1))// 正向; { bzptstart = new LJJSPoint(ptStart.XValue + 0.5, ptStart.YValue + _kdLineLen); LJJSText.AddHorCommonText(_KMin.ToString(), bzptstart, _KCol, AttachmentPoint.BottomLeft, _BZTextSize, _bzTextStyle); // ArxCSHelper.AddMText(_KMin.ToString(), _BZTextSize, bzptstart, AttachmentPoint.BottomLeft, _bzTextStyle); } else//反向; { bzptstart = new LJJSPoint(ptStart.XValue - 0.5, ptStart.YValue + _kdLineLen); LJJSText.AddHorCommonText(_KMin.ToString(), bzptstart, _KCol, AttachmentPoint.BottomRight, _BZTextSize, _bzTextStyle); // ArxCSHelper.AddMText(_KMin.ToString(), _BZTextSize, bzptstart, AttachmentPoint.BottomRight, _bzTextStyle); } }
public override ulong BuildHeader() { // double lrh = FrameDesign.LineRoadTitleBarHeigh;//获取 LJJSPoint headerposition = new LJJSPoint(FrameDrawImpl.FrameWidth * 0.5, 60 + legendEndPt.YValue); //图头起始点坐标 string jhname = FrameDesign.JH.Trim(); //临时变量,获取井号 if (jhname != "") { int headercolor = StrUtil.StrToInt(FrameDesign.HeaderTxtColor, DrawCommonData.BlackColorRGB, "图幅标题颜色设计有误"); return(LJJSText.AddHorCommonText(jhname + FrameDesign.HeaderContent, headerposition, headercolor, AttachmentPoint.BottomCenter, TextFontManage.MainTitle)); } return(0); }
private void AddPerLegendNoFrame(LJJSPoint ptbase, SymbolCodeClass symoper) { if (symoper == null) { return; } double legwidth = symoper.legendWidth; Rect.AddBlackRect(ptbase, -_legendunitheigh, legwidth, 0, new DrawDirection(1, 1)); symoper.InserLegendSymbol(new LJJSPoint(ptbase.XValue, ptbase.YValue - _legendunitheigh * 0.5), legwidth, _legendunitheigh); LJJSText.AddHorCommonText(symoper.symbolChineseName, new LJJSPoint(ptbase.XValue + legwidth + noframetxtvslegspace, ptbase.YValue - _legendunitheigh * 0.5), DrawCommonData.BlackColorRGB, AttachmentPoint.MiddleLeft, legendtxtheigh, legendCNtxtstyle); //(symoper.symbolChineseName, legendtxtheigh, new LJJSPoint(ptbase.XValue+ legwidth + noframetxtvslegspace, ptbase.YValue - _legendunitheigh * 0.5), AttachmentPoint.MiddleLeft, legendCNtxtstyle); }
private void AddTwoEndBzToFigure(LJJSPoint ptStart, LJJSPoint ptEnd) { if (_KIfTwoEndBZ.Equals("是")) { if (_kdPosition.Equals(-1)) //刻度标注线向下; { if (_KDir.Equals(1)) // 正向; { LJJSText.AddHorCommonText(_KMin.ToString(), ptStart, _KCol, AttachmentPoint.BottomLeft, _BZTextSize, _bzTextStyle); // ArxCSHelper.AddMText(_KMin.ToString(), _BZTextSize, ptStart, AttachmentPoint.BottomLeft, _bzTextStyle); LJJSText.AddHorCommonText(_KMax.ToString(), ptEnd, _KCol, AttachmentPoint.BottomRight, _BZTextSize, _bzTextStyle); // ArxCSHelper.AddMText(_KMax.ToString(), _BZTextSize, ptEnd, AttachmentPoint.BottomRight, _bzTextStyle); } else//反向; { LJJSText.AddHorCommonText(_KMin.ToString(), ptStart, _KCol, AttachmentPoint.BottomRight, _BZTextSize, _bzTextStyle); // ArxCSHelper.AddMText(_KMin.ToString(), _BZTextSize, ptStart, AttachmentPoint.BottomRight, _bzTextStyle); LJJSText.AddHorCommonText(_KMax.ToString(), ptEnd, _KCol, AttachmentPoint.BottomLeft, _BZTextSize, _bzTextStyle); // ArxCSHelper.AddMText(_KMax.ToString(), _BZTextSize, ptEnd, AttachmentPoint.BottomLeft, _bzTextStyle); } } else if (_kdPosition.Equals(1))//刻度标注线向上; { LJJSPoint bzptstart; LJJSPoint bzptend; if (_KDir.Equals(1))// 正向; { bzptstart = new LJJSPoint(ptStart.XValue + 0.5, ptStart.YValue + _kdLineLen); bzptend = new LJJSPoint(ptEnd.XValue - 0.5, ptEnd.YValue + _kdLineLen); LJJSText.AddHorCommonText(_KMin.ToString(), bzptstart, _KCol, AttachmentPoint.BottomLeft, _BZTextSize, _bzTextStyle); // ArxCSHelper.AddMText(_KMin.ToString(), _BZTextSize, bzptstart, AttachmentPoint.BottomLeft, _bzTextStyle); LJJSText.AddHorCommonText(_KMax.ToString(), bzptend, _KCol, AttachmentPoint.BottomRight, _BZTextSize, _bzTextStyle); // ArxCSHelper.AddMText(_KMax.ToString(), _BZTextSize, bzptend, AttachmentPoint.BottomRight, _bzTextStyle); } else//反向; { bzptstart = new LJJSPoint(ptStart.XValue - 0.5, ptStart.YValue + _kdLineLen); bzptend = new LJJSPoint(ptEnd.XValue + 0.5, ptEnd.YValue + _kdLineLen); LJJSText.AddHorCommonText(_KMin.ToString(), bzptstart, _KCol, AttachmentPoint.BottomRight, _BZTextSize, _bzTextStyle); LJJSText.AddHorCommonText(_KMax.ToString(), bzptend, _KCol, AttachmentPoint.BottomLeft, _BZTextSize, _bzTextStyle); //ArxCSHelper.AddMText(_KMin.ToString(), _BZTextSize, bzptstart, AttachmentPoint.BottomRight, _bzTextStyle); //ArxCSHelper.AddMText(_KMax.ToString(), _BZTextSize, bzptend, AttachmentPoint.BottomLeft, _bzTextStyle); } } } }
private void AddCenterBzToFigure(LJJSPoint ptStart, LJJSPoint ptEnd) { double pervalue = Math.Abs(_KMax - _KMin) / _kSepNum; double bzvalue; if (_KIfCenterBZ.Equals("是")) { LJJSPoint tmpbzpt; for (int i = 1; i <= _kSepNum - 1; i++) { double xvalue = ptStart.XValue + _KFixedLen * _KDir * i; double yvalue = ptStart.YValue; if (_kdPosition.Equals(-1))//刻度标注线向下; { tmpbzpt = new LJJSPoint(xvalue, yvalue); } else if (_kdPosition.Equals(1))//刻度标注线向上; { tmpbzpt = new LJJSPoint(xvalue, yvalue + _kdLineLen); } else { tmpbzpt = new LJJSPoint(xvalue, yvalue + _kdLineLen); } bzvalue = _KMin + pervalue * i; bzvalue = Math.Round(bzvalue, 2); if (_KDir.Equals(1))// 正向; { if (xvalue < ptEnd.XValue) { LJJSText.AddHorCommonText(bzvalue.ToString(), tmpbzpt, _KCol, AttachmentPoint.BottomCenter, _BZTextSize, _bzTextStyle); // ArxCSHelper.AddMText(bzvalue.ToString(), _BZTextSize, tmpbzpt, AttachmentPoint.BottomCenter, _bzTextStyle); } } else//反向; { if (xvalue > ptEnd.XValue) { LJJSText.AddHorCommonText(bzvalue.ToString(), tmpbzpt, _KCol, AttachmentPoint.BottomCenter, _BZTextSize, _bzTextStyle); // ArxCSHelper.AddMText(bzvalue.ToString(), _BZTextSize, tmpbzpt, AttachmentPoint.BottomCenter, _bzTextStyle); } } } } }
public static void AddNormalItemTitleText(LJJSPoint LineRoadptStart, string TitleContent, ItemTitlePos ItemTitlePos, double LrWidth, double HeaderStartheigh, double TxtSpace) { double yend = LineRoadptStart.YValue + HeaderStartheigh; AttachmentPoint poslayout = AttachmentPoint.BottomCenter;//排列方式。居左中右。.默认在中间 double xvalue; //分析线道字的位置 if (ItemTitlePos.Equals(ItemTitlePos.Left)) { xvalue = LineRoadptStart.XValue + 2; poslayout = AttachmentPoint.BottomLeft; } else if (ItemTitlePos.Equals(ItemTitlePos.Right)) { xvalue = LineRoadptStart.XValue + LrWidth - 2; poslayout = AttachmentPoint.BottomRight; } else//常用为中间 { xvalue = LineRoadptStart.XValue + LrWidth * 0.5;//如果位于中间则有起始点坐标为传入坐标+该线道宽度的一半 } //分解文字的ID并获取填充在题头上的绘图项文字内容 string[] strarr = TitleContent.Split('_'); //循环写上字(要将字的下划线去掉 if (strarr.Length > 0) { for (int i = strarr.Length; i > 0; i--) { LJJSText.AddHorCommonText(strarr[i - 1], new LJJSPoint(xvalue, yend), Color.Black.ToArgb(), poslayout, TextFontManage.ItemName); yend = yend + FrameDesign.PictureItemTxtHeight * 1.6 + TxtSpace; } } }
public static void AddLineItemTitleToFig(LJJSPoint lrPtStart, double lrWidth, CurveItemTitleClass cureveItemTitle) { AttachmentPoint inserPos = AttachmentPoint.BottomCenter; int kdcdirec = 0; List <KeDuChiItem> kdcitemlist = (List <KeDuChiItem>)KeDuChiManage.LineItemKDCHt[cureveItemTitle.showName]; double xstart = lrPtStart.XValue; double ystart = lrPtStart.YValue + cureveItemTitle.firstKDCStartHeigh; double xend = lrPtStart.XValue + lrWidth; double yend = ystart; double xvalue; string lineitemid = cureveItemTitle.showName.Replace("_", ""); lineitemid = lineitemid.Replace(" ", ""); if (cureveItemTitle.isKDCShow) { for (int i = 0; i < kdcitemlist.Count; i++) { KeDuChiItem kdc = kdcitemlist[i]; kdcdirec = kdc.KDir; Layer.CreateLayer(kdc.KName, kdc.KCol, kdc.KLineStyle); Layer.Layer_SetToCurrent(kdc.KName); ystart = ystart + _kdcspace * i; yend = yend + _kdcspace * i; xstart = lrPtStart.XValue; xend = lrPtStart.XValue + lrWidth; if (kdc.KDir.Equals(-1)) { xend = lrPtStart.XValue; xstart = lrPtStart.XValue + lrWidth; } LJJSPoint ptstart = new LJJSPoint(xstart, ystart); LJJSPoint ptend = new LJJSPoint(xend, yend); if ((kdc.KStyle == KDCStyle.DengCha) || (kdc.KStyle == KDCStyle.DengFen)) { kdc.AddNormalKDCToFigure(ptstart, ptend); } else if (kdc.KStyle == KDCStyle.DuiShu)//对数刻度尺; { kdc.AddDuiShuKDCToFigure(ptstart, ptend); } } } yend = yend + cureveItemTitle.showNameVSKDCHeigh; LJJSPoint ptlinameposition; if (cureveItemTitle.itemTitlePos.Equals(ItemTitlePos.Left)) { xvalue = lrPtStart.XValue + 0.5; inserPos = AttachmentPoint.BottomLeft; } else if (cureveItemTitle.itemTitlePos.Equals(ItemTitlePos.Right)) { xvalue = lrPtStart.XValue + lrWidth - 0.5; inserPos = AttachmentPoint.BottomRight; } else { xvalue = lrPtStart.XValue + lrWidth * 0.5; } ptlinameposition = new LJJSPoint(xvalue, yend); //单位绘制(绘制该线道的单位) if (!string.IsNullOrEmpty(cureveItemTitle.curveItemUnit)) { LJJSPoint unitpospt; CJQXUnitPosition qxunitpos = cureveItemTitle.curveUnitPos; if (qxunitpos == CJQXUnitPosition.RightPos)//右侧,绘图项标题右侧 { int namelen = cureveItemTitle.showName.Length; unitpospt = new LJJSPoint(lrPtStart.XValue + lrWidth * 0.5 + namelen * FrameDesign.PictureItemTxtHeight * 0.6 + 0.8, yend); LJJSText.AddHorCommonText(cureveItemTitle.curveItemUnit, unitpospt, Color.Black.ToArgb(), AttachmentPoint.BottomLeft, FrameDesign.PictureItemTxtHeight * 0.6, FrameDesign.PictureItemFont); } else if (qxunitpos == CJQXUnitPosition.AtRight)//居右,线道右侧 { unitpospt = new LJJSPoint(lrPtStart.XValue + lrWidth, yend); LJJSText.AddHorCommonText(cureveItemTitle.curveItemUnit, unitpospt, Color.Black.ToArgb(), AttachmentPoint.BottomRight, FrameDesign.PictureItemTxtHeight * 0.6, FrameDesign.PictureItemFont); } else { unitpospt = new LJJSPoint(lrPtStart.XValue + lrWidth * 0.5, yend - FrameDesign.PictureItemTxtHeight * 1.4); LJJSText.AddHorCommonText(cureveItemTitle.curveItemUnit, unitpospt, Color.Black.ToArgb(), AttachmentPoint.BottomCenter, FrameDesign.PictureItemTxtHeight * 0.6, FrameDesign.PictureItemFont); } } LJJSText.AddHorCommonText(cureveItemTitle.showName, ptlinameposition, Color.Black.ToArgb(), inserPos, TextFontManage.ItemName); // ArxCSHelper.AddMText(liShowName, FrameDesign.PictureItemTxtHeight, ptlinameposition, Color.Black.ToArgb(), AttachmentPoint.BottomCenter, DrawingFrameData._drawitemTextStyle); /* if (lis.LiSubClass.Equals("yqsbhd")) * { * YSBHDItemDraw._ysbhdirection = 1; * if (kdcdirec != 0) * { * YSBHDItemDraw._ysbhdirection = kdcdirec; * } * //加载油水饱和度 * YSBHDItemDraw.LoadYSBHDLt(); * //完成返回 * LJJSPoint ysbhdtemp = new LJJSPoint(ptlinameposition.XValue, lis.LINameVSKDCHeigh - 2 * DrawingFrameData._drawitemTextHeigh, 0);//坐标中点 * double measure = YSBHDItemDraw._lt_YSLineRoad.Count * YSBHDItemDraw.YSBHDTitleHeigh;//总宽度是measure * LJJSPoint ysbhdstart = new LJJSPoint(ysbhdtemp.XValue - 0.5 * measure + 0.5 * YSBHDItemDraw.YSBHDTitleHeigh, ysbhdtemp.YValue, 0);//起始点就是最前面那个 * * for (int i = 0; i < YSBHDItemDraw._lt_YSLineRoad.Count; i++) * { * //绘制名称 * ArxCSHelper.AddMText(YSBHDItemDraw._lt_YSLineRoad[i].YSBHDName, DrawingFrameData._drawitemTextHeigh * , ysbhdstart, AttachmentPoint.MiddleCenter, DrawingFrameData._drawitemTextStyle); * //绘制下面的代表线 * LJJSPoint ptstart = new LJJSPoint(ysbhdstart.XValue - 0.5 * DrawingFrameData._drawitemTextHeigh, ysbhdstart.YValue - DrawingFrameData._drawitemTextHeigh); * LJJSPoint ptend = new LJJSPoint(ysbhdstart.XValue + 0.5 * DrawingFrameData._drawitemTextHeigh, ysbhdstart.YValue - DrawingFrameData._drawitemTextHeigh); * ArxCSHelper.AddLWPolyline(ptstart, ptend, 0.03, AutoCADColor.Black.ToArgb(), YSBHDItemDraw._lt_YSLineRoad[i].YSBHDLineKind); * * ysbhdstart = new LJJSPoint(ysbhdstart.XValue + YSBHDItemDraw.YSBHDTitleHeigh, ysbhdstart.YValue, 0); * } * return; * }*/ }
/// <summary> /// 根据左基点和符号内容,添加符号或颜色文本; /// </summary> private void AddLegendHaveLeftTopBaseAndWH(LJJSPoint ptBase, SymbolCodeClass symboloper) { symboloper.InserLegendSymbol(new LJJSPoint(ptBase.XValue, ptBase.YValue - _legendunitheigh * 0.5), legendunitwidth, _legendunitheigh); LJJSText.AddHorCommonText(symboloper.symbolChineseName, new LJJSPoint(ptBase.XValue + legendunitwidth * 0.5, ptBase.YValue - _legendunitheigh * 1.6), DrawCommonData.BlackColorRGB, AttachmentPoint.MiddleCenter, legendtxtheigh, legendCNtxtstyle); }