protected List<float []> ConvertColumn(float[] cLine) {
if (cLine.Length < 4)
throw new Exception(MessageLocalization.GetComposedMessage("no.valid.column.line.found"));
List<float []> cc = new List<float []>();
for (int k = 0; k < cLine.Length - 2; k += 2) {
float x1 = cLine[k];
float y1 = cLine[k + 1];
float x2 = cLine[k + 2];
float y2 = cLine[k + 3];
if (y1 == y2)
continue;
// x = ay + b
float a = (x1 - x2) / (y1 - y2);
float b = x1 - a * y1;
float[] r = new float[4];
r[0] = Math.Min(y1, y2);
r[1] = Math.Max(y1, y2);
r[2] = a;
r[3] = b;
cc.Add(r);
maxY = Math.Max(maxY, r[1]);
minY = Math.Min(minY, r[0]);
}
if (cc.Count == 0)
throw new Exception(MessageLocalization.GetComposedMessage("no.valid.column.line.found"));
return cc;
}