static Image CreateComposedNinePatch(Toolkit toolkit, IEnumerable<Tuple<string,ImageTagSet,bool,object>> altImages)
{
var npImage = new NinePatchImage ();
foreach (var fi in altImages) {
int i = fi.Item1.LastIndexOf ('@');
double scaleFactor;
if (i == -1)
scaleFactor = 1;
else {
int j = fi.Item1.IndexOf ('x', ++i);
if (!double.TryParse (fi.Item1.Substring (i, j - i), out scaleFactor)) {
toolkit.ImageBackendHandler.Dispose (fi.Item4);
continue;
}
}
npImage.AddFrame (new Image (fi.Item4, toolkit).ToBitmap (), scaleFactor);
}
return npImage;
}