public override string ToString()
{
StringBuilder sb = new StringBuilder();
sb.AppendLine(ObjectHeader);
//PATT 10SY00095NIL
sb.AppendLine(string.Format("PATT{0}", RleParser.AddLength(string.Format("{0}{1:00000;-0000}{2}", ObjectType, ObjectId, RleParser.Nil))));
//PATD 55NODATA04RSTGCON0000300326000200000000048000240000000000
sb.AppendLine(string.Format("PATD{0}", RleParser.AddLength(string.Format("{0}{1}{2}{3:00000;-0000}{4:00000;-0000}{5:00000;-0000}{6:00000;-0000}{7:00000;-0000}{8:00000;-0000}{9:00000;-0000}{10:00000;-0000}", Code, 'R', Value2, Value3, Value4, OffsetX, OffsetY, Width, Height, HotspotX, HotspotY))));
//PXPO 22area of no chart data
sb.AppendLine(string.Format("PXPO{0}", RleParser.AddTermAndLength(string.Format("{0}", Description))));
//PCRF 6ACHGRD
StringBuilder sb1 = new StringBuilder();
foreach (var color in Colors)
{
sb1.Append(String.Format("{0}{1}", color.Key, color.Value.Code));
}
sb.AppendLine(String.Format("PCRF{0}", RleParser.AddLength(sb1.ToString())));
//PBTM 49@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
foreach (var s in BitmapData.Split(new string[] {Environment.NewLine}, StringSplitOptions.RemoveEmptyEntries))
{
sb.AppendLine(String.Format("PBTM{0}", RleParser.AddTermAndLength(s)));
}
sb.Append(ObjectFooter);
return sb.ToString();
}