예제 #1
0
        /// <summary>
        /// 为特定的三维图形类型创建颜色映射
        /// </summary>
        /// <param name="cs"></param>
        /// <param name="pt"></param>
        /// <param name="zmin"></param>
        /// <param name="zmax"></param>
        /// <returns></returns>
        private Color AddColor(ChartStyle cs, Point3 pt,
                               float zmin, float zmax)
        {
            int colorLength = CMap.GetLength(0);
            int cindex      = (int)Math.Round((colorLength * (pt.Z - zmin) +
                                               (zmax - pt.Z)) / (zmax - zmin));

            if (cindex < 1)
            {
                cindex = 1;
            }
            if (cindex > colorLength)
            {
                cindex = colorLength;
            }
            Color color = Color.FromArgb(CMap[cindex - 1, 0],
                                         CMap[cindex - 1, 1], CMap[cindex - 1, 2],
                                         CMap[cindex - 1, 3]);

            return(color);
        }