public static RgbProcessor FromXML(XmlElement elem) { CurveAdjustProcessor pro = new CurveAdjustProcessor(); pro._actualArg = new CurveAdjustProcessorArg(); switch (elem.ChildNodes[0].Name.ToString()) { case "RGB": pro._actualArg.RGB.Values = new byte[elem.ChildNodes[0].ChildNodes.Count]; break; case "Red": pro._actualArg.Red.Values = new byte[elem.ChildNodes[0].ChildNodes.Count]; break; case "Green": pro._actualArg.Green.Values = new byte[elem.ChildNodes[0].ChildNodes.Count]; break; case "Blue": pro._actualArg.Blue.Values = new byte[elem.ChildNodes[0].ChildNodes.Count]; break; } for (int i = 0; i < elem.ChildNodes[0].ChildNodes.Count; i++) { switch (elem.ChildNodes[0].Name.ToString()) { case "RGB": pro._actualArg.RGB.Values[i] = Convert.ToByte(elem.ChildNodes[0].ChildNodes[i].InnerText); break; case "Red": pro._actualArg.Red.Values[i] = Convert.ToByte(elem.ChildNodes[0].ChildNodes[i].InnerText); break; case "Green": pro._actualArg.Green.Values[i] = Convert.ToByte(elem.ChildNodes[0].ChildNodes[i].InnerText); break; case "Blue": pro._actualArg.Blue.Values[i] = Convert.ToByte(elem.ChildNodes[0].ChildNodes[i].InnerText); break; } } pro.Arguments = pro._actualArg; return(pro); }
public static RgbProcessor FromXML(XmlElement elem) { CurveAdjustProcessor pro = new CurveAdjustProcessor(); pro._actualArg = new CurveAdjustProcessorArg(); for (int i = 0; i < elem.ChildNodes.Count; i++) { XmlNode node = elem.ChildNodes[i]; switch (node.Name) { case "RGB": pro._actualArg.RGB.Values = new byte[node.ChildNodes.Count]; for (int j = 0; j < node.ChildNodes.Count; j++) { pro._actualArg.RGB.Values[j] = Convert.ToByte(node.ChildNodes[j].InnerText); } break; case "Red": pro._actualArg.Red.Values = new byte[node.ChildNodes.Count]; for (int j = 0; j < node.ChildNodes.Count; j++) { pro._actualArg.Red.Values[j] = Convert.ToByte(node.ChildNodes[j].InnerText); } break; case "Green": pro._actualArg.Green.Values = new byte[node.ChildNodes.Count]; for (int j = 0; j < node.ChildNodes.Count; j++) { pro._actualArg.Green.Values[j] = Convert.ToByte(node.ChildNodes[j].InnerText); } break; case "Blue": pro._actualArg.Blue.Values = new byte[node.ChildNodes.Count]; for (int j = 0; j < node.ChildNodes.Count; j++) { pro._actualArg.Blue.Values[j] = Convert.ToByte(node.ChildNodes[j].InnerText); } break; } } pro.Arguments = pro._actualArg; return(pro); }