コード例 #1
0
        private static double[] ReadLut(string lutName, [CallerMemberName] string callName = "")
        {
            int index = 0;

            foreach (var n in Enum.GetValues(typeof(PreparedLutPath)).Cast <PreparedLutPath>())
            {
                if (n.ToString() == callName)
                {
                    index = (int)n; break;
                }
                ;
            }

            string        lutPath = GetImageInfo.LutPath(PreparedLutPath.ElementAt(index) + lutName);
            string        line;
            int           count = 0;
            List <string> temp  = new List <string>();

            using (StreamReader lutFile = new StreamReader(lutPath))
            {
                while ((line = lutFile.ReadLine()) != null)
                {
                    temp.Add(line);
                    count++;
                }
            }

            string concat = String.Join(" ", temp.ToArray()).Replace(" ", "");

            temp = new List <string>();
            foreach (char s in concat)
            {
                temp.Add(s.ToString());
            }

            double[] lut = new double[temp.Count];
            for (int i = 0; i < temp.Count; i++)
            {
                lut[i] = Convert.ToDouble(temp[i]);
            }

            return(lut);
        }