private void ExecuteAnnotate(XmlElement element, MagickImage image)
{
Hashtable arguments = new Hashtable();
foreach (XmlAttribute attribute in element.Attributes)
{
if (attribute.Name == "angle")
arguments["angle"] = Variables.GetValue<double>(attribute);
else if (attribute.Name == "boundingArea")
arguments["boundingArea"] = Variables.GetValue<MagickGeometry>(attribute);
else if (attribute.Name == "gravity")
arguments["gravity"] = Variables.GetValue<Gravity>(attribute);
else if (attribute.Name == "text")
arguments["text"] = Variables.GetValue<String>(attribute);
}
if (OnlyContains(arguments, "text", "boundingArea"))
image.Annotate((String)arguments["text"], (MagickGeometry)arguments["boundingArea"]);
else if (OnlyContains(arguments, "text", "boundingArea", "gravity"))
image.Annotate((String)arguments["text"], (MagickGeometry)arguments["boundingArea"], (Gravity)arguments["gravity"]);
else if (OnlyContains(arguments, "text", "boundingArea", "gravity", "angle"))
image.Annotate((String)arguments["text"], (MagickGeometry)arguments["boundingArea"], (Gravity)arguments["gravity"], (double)arguments["angle"]);
else if (OnlyContains(arguments, "text", "gravity"))
image.Annotate((String)arguments["text"], (Gravity)arguments["gravity"]);
else
throw new ArgumentException("Invalid argument combination for 'annotate', allowed combinations are: [text, boundingArea] [text, boundingArea, gravity] [text, boundingArea, gravity, angle] [text, gravity]");
}
private void ExecuteAutoGamma(XmlElement element, MagickImage image)