/// <summary> /// 获取属性值 /// </summary> /// <param name="name">属性名称</param> /// <param name="value">返回属性值</param> /// <param name="type">返回属性类型</param> public override void getProperty(String name, ref String value, ref String type) { if (name == "color") { type = "color"; value = FCStr.convertColorToStr(Color); } else if (name == "colorfield") { type = "int"; value = FCStr.convertIntToStr(ColorField); } else if (name == "fieldname") { type = "int"; value = FCStr.convertIntToStr(FieldName); } else if (name == "fieldtext") { type = "String"; value = FieldText; } else if (name == "fillcolor") { type = "color"; value = FCStr.convertColorToStr(FillColor); } else if (name == "style") { type = "enum:PolylineStyle"; PolylineStyle style = Style; if (style == PolylineStyle.Cycle) { value = "Cycle"; } else if (style == PolylineStyle.DashLine) { value = "DashLine"; } else if (style == PolylineStyle.DotLine) { value = "DotLine"; } else { value = "SolidLine"; } } else if (name == "width") { type = "float"; value = FCStr.convertFloatToStr(Width); } else { base.getProperty(name, ref value, ref type); } }
/// <summary/> protected void addPolylineStyleElement(PolylineStyle PolylineStyle, XmlDocument doc, XmlElement layerElement) { XmlElement polylineStyleElement = doc.CreateElement("polyline_style"); layerElement.AppendChild(polylineStyleElement); addAttribute(polylineStyleElement, "width", PolylineStyle.Width.ToString(CultureInfo.InvariantCulture)); addAttribute(polylineStyleElement, "use_annex_line", PolylineStyle.UseAnnexLine ? "1" : "0"); addAttribute(polylineStyleElement, "color", ColorTranslator.ToHtml(PolylineStyle.Color)); addAttribute(polylineStyleElement, "dash_style", ((int)PolylineStyle.DashStyle).ToString(CultureInfo.InvariantCulture)); addAttribute(polylineStyleElement, "dash_cap", ((int)PolylineStyle.DashCap).ToString(CultureInfo.InvariantCulture)); if (PolylineStyle.DashPattern != null) { addAttribute(polylineStyleElement, "dash_pattern", floatArrayToString(PolylineStyle.DashPattern)); } addAttribute(polylineStyleElement, "is_compound", PolylineStyle.IsCompound ? "1" : "0"); if (PolylineStyle.Compound != null) { addAttribute(polylineStyleElement, "compound", floatArrayToString(PolylineStyle.Compound)); } addAttribute(polylineStyleElement, "annex_color", ColorTranslator.ToHtml(PolylineStyle.AnnexColor)); addAttribute(polylineStyleElement, "annex_dash_style", ((int)PolylineStyle.AnnexDashStyle).ToString(CultureInfo.InvariantCulture)); addAttribute(polylineStyleElement, "annex_dash_cap", ((int)PolylineStyle.AnnexDashCap).ToString(CultureInfo.InvariantCulture)); if (PolylineStyle.DashPattern != null) { addAttribute(polylineStyleElement, "annex_dash_pattern", floatArrayToString(PolylineStyle.AnnexDashPattern)); } addAttribute(polylineStyleElement, "is_annex_compound", PolylineStyle.IsAnnexCompound ? "1" : "0"); if (PolylineStyle.AnnexCompound != null) { addAttribute(polylineStyleElement, "annex_compound", floatArrayToString(PolylineStyle.AnnexCompound)); } addAttribute(polylineStyleElement, "use_outline", PolylineStyle.UseOutline ? "1" : "0"); addAttribute(polylineStyleElement, "outline_width", PolylineStyle.OutlineWidth.ToString(CultureInfo.InvariantCulture)); addAttribute(polylineStyleElement, "outline_color", ColorTranslator.ToHtml(PolylineStyle.OutlineColor)); addAttribute(polylineStyleElement, "outline_transparent", PolylineStyle.OutlineColor.A.ToString(CultureInfo.InvariantCulture)); }
/// <summary/> protected void processPolylineStyle(XmlNode layerNode, PolylineStyle PolylineStyle) { XmlNode polylineStyle = tryGetNodeByName(layerNode.ChildNodes, "polyline_style"); if (polylineStyle != null) { PolylineStyle.Width = int.Parse(polylineStyle.Attributes["width"].Value, CultureInfo.InvariantCulture); PolylineStyle.Color = ColorTranslator.FromHtml(polylineStyle.Attributes["color"].Value); PolylineStyle.DashStyle = (DashStyle)int.Parse(polylineStyle.Attributes["dash_style"].Value, CultureInfo.InvariantCulture); if (polylineStyle.Attributes["dash_cap"] != null) { PolylineStyle.DashCap = (DashCap)int.Parse(polylineStyle.Attributes["dash_cap"].Value, CultureInfo.InvariantCulture); } if (polylineStyle.Attributes["dash_pattern"] != null) { PolylineStyle.DashPattern = stringToFloatArray(polylineStyle.Attributes["dash_pattern"].Value); } if (polylineStyle.Attributes["is_compound"] != null) { PolylineStyle.IsCompound = polylineStyle.Attributes["is_compound"].Value == "1"; } if (polylineStyle.Attributes["compound"] != null) { PolylineStyle.Compound = stringToFloatArray(polylineStyle.Attributes["compound"].Value); } if (polylineStyle.Attributes["use_annex_line"] != null) { PolylineStyle.UseAnnexLine = polylineStyle.Attributes["use_annex_line"].Value == "1"; PolylineStyle.AnnexColor = ColorTranslator.FromHtml(polylineStyle.Attributes["annex_color"].Value); PolylineStyle.AnnexDashStyle = (DashStyle)int.Parse(polylineStyle.Attributes["annex_dash_style"].Value, CultureInfo.InvariantCulture); if (polylineStyle.Attributes["annex_dash_cap"] != null) { PolylineStyle.AnnexDashCap = (DashCap)int.Parse(polylineStyle.Attributes["annex_dash_cap"].Value, CultureInfo.InvariantCulture); } if (polylineStyle.Attributes["annex_dash_pattern"] != null) { PolylineStyle.AnnexDashPattern = stringToFloatArray(polylineStyle.Attributes["annex_dash_pattern"].Value); } if (polylineStyle.Attributes["is_annex_compound"] != null) { PolylineStyle.IsAnnexCompound = polylineStyle.Attributes["is_annex_compound"].Value == "1"; } if (polylineStyle.Attributes["annex_compound"] != null) { PolylineStyle.AnnexCompound = stringToFloatArray(polylineStyle.Attributes["annex_compound"].Value); } } if (polylineStyle.Attributes["use_outline"] != null) { PolylineStyle.UseOutline = polylineStyle.Attributes["use_outline"].Value == "1"; } if (polylineStyle.Attributes["outline_color"] != null) { PolylineStyle.OutlineColor = ColorTranslator.FromHtml(polylineStyle.Attributes["outline_color"].Value); } if (polylineStyle.Attributes["outline_width"] != null) { PolylineStyle.OutlineWidth = int.Parse(polylineStyle.Attributes["outline_width"].Value, CultureInfo.InvariantCulture); } if (polylineStyle.Attributes["outline_transparent"] != null) { PolylineStyle.OutlineColor = Color.FromArgb(int.Parse(polylineStyle.Attributes["outline_transparent"].Value, CultureInfo.InvariantCulture), PolylineStyle.OutlineColor); } } }