コード例 #1
0
        public static void Gei_Qu_Xian_Tu_Se(ArrayList al, JDStruc jdstruc, Hashtable drawht, List <LJJSPoint> line, LJJSPoint lrptstart) //给曲线部分涂色, lrptstart 是线道原点的坐标
        {
            //    vdDocument activeDOcu = DrawCommonData.activeDocument;
            for (int i = 0; i < line.Count - 1; i++)
            {
                double y1_value = (double)line[i].YValue;
                double x1_value = (double)line[i].XValue;

                double y2_value = (double)line[i + 1].YValue;
                double x2_value = (double)line[i + 1].XValue;

                /**double y1_value = (double)al[i];
                 * double x1_value = (double)drawht[y1_value];
                 *
                 * double y2_value = (double)al[i+1];
                 * double x2_value = (double)drawht[y2_value];
                 * if (this.drawptcol.Count == 1)
                 * {
                 *  y1_value += this.drawptcol[0].YValue;
                 *  x1_value += this.drawptcol[0].XValue;
                 *  y2_value += this.drawptcol[0].YValue;
                 *  x2_value += this.drawptcol[0].XValue;
                 * }
                 * else
                 * {
                 *  MessageBox.Show("error,this.drawptcol.Count is " + this.drawptcol.Count.ToString());
                 *  return;
                 * }**/
                //y2的值一定大于y1
                //TO BE DONE

                /**  涂左边
                 * LJJSPoint Oy1 = new LJJSPoint(lrptstart.XValue,y1_value);
                 * LJJSPoint x1y1 = new LJJSPoint(x1_value,y1_value);
                 *
                 * LJJSPoint Oy2 = new LJJSPoint(lrptstart.XValue,y2_value);
                 * LJJSPoint x2y2 = new LJJSPoint(x2_value,y2_value);
                 * //
                 **/

                /** 涂右边
                 * LJJSPoint Oy1 = new LJJSPoint(x1_value, y1_value);
                 * LJJSPoint x1y1 = new LJJSPoint(lrptstart.XValue + 50, y1_value);
                 *
                 * LJJSPoint Oy2 = new LJJSPoint(x2_value, y2_value);
                 * LJJSPoint x2y2 = new LJJSPoint(lrptstart.XValue + 50, y2_value);
                 **/
                LJJSPoint Oy1  = new LJJSPoint(lrptstart.XValue, y1_value);
                LJJSPoint x1y1 = new LJJSPoint(lrptstart.XValue + 50, y1_value);

                LJJSPoint Oy2  = new LJJSPoint(lrptstart.XValue, y2_value);
                LJJSPoint x2y2 = new LJJSPoint(lrptstart.XValue + 50, y2_value);

                List <LJJSPoint> hatchPtLst = new List <LJJSPoint>()
                {
                    Oy2, x2y2, x1y1, Oy1
                };
                CurveColorEnum colorSelect;
                int            colorIndex = Color.Red.ToArgb(); //颜色的argb值
                // AddLineHatchManager.selectColorByXValue(lrptstart,line, (x1_value + x2_value) / 2,  ref colorIndex);  //选择颜色


                try
                {
                    AddLineHatchManager.selectColorByXValue(lrptstart, line, x1_value, ref colorIndex);  //选择颜色
                    AreaHatch.AddStandardAreaHatch(DrawCommonData.activeDocument, hatchPtLst, colorIndex, colorIndex);
                }
                catch
                {
                    return;
                }
            }
        }