/// <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; }
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; }