/// <summary>
 /// AutoColoringEffect クラスの新しいインスタンスを初期化します。
 /// </summary>
 /// <param name="strm"></param>
 /// <param name="type"></param>
 public AutoColoringEffect(Stream strm, CurveTypes type)
 {
     Curve = new Curve(strm, type);
 }
 /// <summary>
 /// AutoColoringEffect クラスの新しいインスタンスを初期化します。
 /// </summary>
 /// <param name="curve"></param>
 public AutoColoringEffect(Curve curve)
 {
     Curve = curve;
 }
Пример #3
0
        private static Curve GetGimpCurve(Stream strm)
        {
            var curves = new Curve();

            var index = new int[5, 17];
            var value = new int[5, 17];

            var reader = new StreamReader(strm);

            // ヘッダーがGIMP形式になっているかチェック
            var header = reader.ReadLine();
            if ("# GIMP Curves File" != header)
            {
                throw new IOException("not gimp curves file");
            }

            for (int i = 0; i < 5; i++)
            {
                string line = reader.ReadLine();
                var values = line.Split(' ');

                for (int j = 0, k = 0; j < 17; j++)
                {
                    index[i, j] = int.Parse(values[k++]);
                    value[i, j] = int.Parse(values[k++]);
                }
            }

            for (int i = 0; i < 5; i++)
            {
                for (int j = 0; j < 17; j++)
                {
                    curves.Points[i, j, 0] = index[i, j];
                    curves.Points[i, j, 1] = value[i, j];
                }
            }

            // make LUTs
            for (int i = 0; i < 5; i++)
            {
                curves.Calculate(i);
            }

            return curves;
        }