public override object ConvertFrom(ITypeDescriptorContext context, CultureInfo culture, object value) { char[] separator = new char[] { '\n' }; string[] strArray = ((string) value).Split(separator); Keyframe[] keys = new Keyframe[strArray.Length - 2]; for (int i = 0; i < keys.Length; i++) { char[] chArray2 = new char[] { ',' }; string[] keyvals = strArray[i + 2].Split(chArray2); keys[i] = new Keyframe(ParseKeyVal(keyvals, Val.Time), ParseKeyVal(keyvals, Val.Value), ParseKeyVal(keyvals, Val.InTangent), ParseKeyVal(keyvals, Val.OutTangent)); } AnimationCurve curve = new AnimationCurve(keys); EnumConverter converter = new EnumConverter(typeof(WrapMode)); curve.postWrapMode = (WrapMode) converter.ConvertFromString(strArray[0]); curve.preWrapMode = (WrapMode) converter.ConvertFromString(strArray[1]); return curve; }
static void Main(string[] args) { Console.WriteLine("使用 EnumConverter "); { EnumConverter converter = new EnumConverter(typeof(ProgrammingLanguage)); // 将字符串转换为枚举. string langStr = "CS, Cpp, XAML"; Console.WriteLine("将字符串 \"{0}\" 转换为枚举...", langStr); ProgrammingLanguage lang = (ProgrammingLanguage)converter.ConvertFromString(langStr); Console.WriteLine("完成!"); // 将枚举转换为字符串. Console.WriteLine("将枚举结果转换为字符串..."); langStr = converter.ConvertToString(lang); Console.WriteLine("完成! \"{0}\"", langStr); } Console.WriteLine("\n使用 EnumDescriptionConverter "); { EnumDescriptionConverter converter = new EnumDescriptionConverter( typeof(ProgrammingLanguage)); // 将枚举转换为字符串. string langStr = "Visual C#, Visual C++, XAML"; Console.WriteLine("将字符串 \"{0}\" 转换为枚举...", langStr); ProgrammingLanguage lang = (ProgrammingLanguage)converter.ConvertFromString(langStr); Console.WriteLine("完成!"); // 将枚举转换为字符串. Console.WriteLine("将枚举结果转换为字符串..."); langStr = converter.ConvertToString(lang); Console.WriteLine("完成! \"{0}\"", langStr); } Console.ReadLine(); }
public static ThumbnailSettings Load(XmlDocument document) { Size size; InterpolationMode interpolationMode; Color backColor; ThreadPriority threadPriority; SizeConverter sizeConv = new SizeConverter(); XmlElement sizeElem = document.SelectSingleNode("settings/thumbnail/size") as XmlElement; if (sizeElem != null) { try { size = (Size)sizeConv.ConvertFromString(sizeElem.GetAttribute("value")); } catch { size = DefaultSize; } } else { size = DefaultSize; } EnumConverter ipConv = new EnumConverter(typeof(InterpolationMode)); XmlElement ipmodeElem = document.SelectSingleNode("settings/thumbnail/interpolationMode") as XmlElement; if (ipmodeElem != null) { try { interpolationMode = (InterpolationMode)ipConv.ConvertFromString(ipmodeElem.GetAttribute("value")); } catch { interpolationMode = DefaultInterpolationMode; } } else { interpolationMode = DefaultInterpolationMode; } ColorConverter colorConv = new ColorConverter(); XmlElement bcolorElem = document.SelectSingleNode("settings/thumbnail/backColor") as XmlElement; if (bcolorElem != null) { try { backColor = (Color)colorConv.ConvertFromString(bcolorElem.GetAttribute("value")); } catch { backColor = DefaultBackColor; } } else { backColor = DefaultBackColor; } EnumConverter priorityConv = new EnumConverter(typeof(ThreadPriority)); XmlElement priorityElem = document.SelectSingleNode("settings/thumbnail/threadPriority") as XmlElement; if (priorityElem != null) { try { threadPriority = (ThreadPriority)priorityConv.ConvertFromString(priorityElem.GetAttribute("value")); } catch { threadPriority = DefaultThumbnailThreadPriority; } } else { threadPriority = DefaultThumbnailThreadPriority; } return new ThumbnailSettings(size, interpolationMode, backColor, threadPriority); }
private void DeserializeBoxSettings(AnnotationBox boxSettings, XmlElement boxSettingsNode) { string font = boxSettingsNode.GetAttribute("font"); string color = boxSettingsNode.GetAttribute("color"); string italics = boxSettingsNode.GetAttribute("italics"); string bold = boxSettingsNode.GetAttribute("bold"); string numberOfLines = boxSettingsNode.GetAttribute("number-of-lines"); string truncation = boxSettingsNode.GetAttribute("truncation"); string justification = boxSettingsNode.GetAttribute("justification"); string verticalAlignment = boxSettingsNode.GetAttribute("vertical-alignment"); string fitWidth = boxSettingsNode.GetAttribute("fit-width"); string alwaysVisible = boxSettingsNode.GetAttribute("always-visible"); if (!String.IsNullOrEmpty(font)) boxSettings.Font = font; if (!String.IsNullOrEmpty(color)) boxSettings.Color = color; if (!String.IsNullOrEmpty(italics)) boxSettings.Italics = (String.Compare("true", italics, true) == 0); if (!String.IsNullOrEmpty(bold)) boxSettings.Bold = (String.Compare("true", bold, true) == 0); if (!String.IsNullOrEmpty(numberOfLines)) { byte result; if (!byte.TryParse(numberOfLines, System.Globalization.NumberStyles.Integer, System.Globalization.CultureInfo.InvariantCulture, out result)) result = 1; boxSettings.NumberOfLines = result; } if (!String.IsNullOrEmpty(fitWidth)) boxSettings.FitWidth = (String.Compare("true", fitWidth) == 0); if (!String.IsNullOrEmpty(alwaysVisible)) boxSettings.AlwaysVisible = (String.Compare("true", alwaysVisible, true) == 0); if (!String.IsNullOrEmpty(truncation)) { AnnotationBox.TruncationBehaviour fromString = boxSettings.Truncation; EnumConverter converter = new EnumConverter(typeof(AnnotationBox.TruncationBehaviour)); if (converter.IsValid(truncation)) boxSettings.Truncation = (AnnotationBox.TruncationBehaviour)converter.ConvertFromString(truncation); } if (!String.IsNullOrEmpty(justification)) { AnnotationBox.JustificationBehaviour fromString = boxSettings.Justification; EnumConverter converter = new EnumConverter(typeof(AnnotationBox.JustificationBehaviour)); if (converter.IsValid(justification)) boxSettings.Justification = (AnnotationBox.JustificationBehaviour)converter.ConvertFromString(justification); } if (!String.IsNullOrEmpty(verticalAlignment)) { AnnotationBox.VerticalAlignmentBehaviour fromString = boxSettings.VerticalAlignment; EnumConverter converter = new EnumConverter(typeof(AnnotationBox.VerticalAlignmentBehaviour)); if (converter.IsValid(verticalAlignment)) boxSettings.VerticalAlignment = (AnnotationBox.VerticalAlignmentBehaviour)converter.ConvertFromString(verticalAlignment); } XmlElement configurationSettings = (XmlElement)boxSettingsNode.SelectSingleNode("configuration-settings"); if (configurationSettings != null) { string showLabel = configurationSettings.GetAttribute("show-label"); string showLabelIfEmpty = configurationSettings.GetAttribute("show-label-if-empty"); if (!String.IsNullOrEmpty(showLabel)) boxSettings.ConfigurationOptions.ShowLabel = (String.Compare("true", showLabel, true) == 0); if (!String.IsNullOrEmpty(showLabelIfEmpty)) boxSettings.ConfigurationOptions.ShowLabelIfValueEmpty = (String.Compare("true", showLabelIfEmpty, true) == 0); } }
public static FullScreenViewerSettings Load(XmlDocument document) { Resizer resizer; InterpolationMode interpolationMode; Color backColor; ResizerConverter rsConv = new ResizerConverter(); XmlElement resizerElem = document.SelectSingleNode("settings/fullScreenViewer/resizer") as XmlElement; if (resizerElem != null) { try { resizer = (Resizer)rsConv.ConvertFrom(null, null, resizerElem.GetAttribute("value")); } catch { resizer = DefaultResizer; } } else { resizer = DefaultResizer; } EnumConverter ipConv = new EnumConverter(typeof(InterpolationMode)); XmlElement ipmodeElem = document.SelectSingleNode("settings/fullScreenViewer/interpolationMode") as XmlElement; if (ipmodeElem != null) { try { interpolationMode = (InterpolationMode)ipConv.ConvertFromString(ipmodeElem.GetAttribute("value")); } catch { interpolationMode = DefaultInterpolationMode; } } else { interpolationMode = DefaultInterpolationMode; } ColorConverter colorConv = new ColorConverter(); XmlElement bcolorElem = document.SelectSingleNode("settings/fullScreenViewer/backColor") as XmlElement; if (bcolorElem != null) { try { backColor = (Color)colorConv.ConvertFromString(bcolorElem.GetAttribute("value")); } catch { backColor = DefaultBackColor; } } else { backColor = DefaultBackColor; } return new FullScreenViewerSettings(resizer, interpolationMode, backColor); }
public void SetCameraParam2(int CntNum) { //int rt = 0; //int model = 0; string URL = ""; HttpWebRequest req = null; WebResponse res = null; int maxheight = 0, maxwidth = 0; //모델 받아오기 //model = AV2K.pModel(CntNum); URL = "http://" + m_Avips[CntNum - 1] + "/get?" + "model"; req = (HttpWebRequest)WebRequest.Create(URL); req.Credentials = new NetworkCredential("admin", m_PassWord); res = req.GetResponse(); StreamReader red = new StreamReader(res.GetResponseStream()); URL = red.ReadLine(); URL = URL.Substring(6); setResolution(int.Parse(URL), ref maxwidth, ref maxheight); red.Close(); res.Close(); //촬영영역 설정(left, top, width, height) URL = "http://" + m_Avips[CntNum - 1] + "/set?" + "sensorleft=" + m_AvParam[CntNum - 1].left.ToString(); req = (HttpWebRequest)WebRequest.Create(URL); req.Credentials = new NetworkCredential("admin", m_PassWord); res = req.GetResponse(); res.Close(); URL = "http://" + m_Avips[CntNum - 1] + "/set?" + "sensortop=" + m_AvParam[CntNum - 1].top.ToString(); req = (HttpWebRequest)WebRequest.Create(URL); req.Credentials = new NetworkCredential("admin", m_PassWord); res = req.GetResponse(); res.Close(); if (m_AvParam[CntNum - 1].width > maxwidth) URL = "http://" + m_Avips[CntNum - 1] + "/set?" + "sensorwidth=" + maxwidth.ToString(); else URL = "http://" + m_Avips[CntNum - 1] + "/set?" + "sensorwidth=" + m_AvParam[CntNum - 1].width.ToString(); req = (HttpWebRequest)WebRequest.Create(URL); req.Credentials = new NetworkCredential("admin", m_PassWord); res = req.GetResponse(); res.Close(); if (m_AvParam[CntNum - 1].height > maxheight) URL = "http://" + m_Avips[CntNum - 1] + "/set?" + "sensorheight=" + maxheight.ToString(); else URL = "http://" + m_Avips[CntNum - 1] + "/set?" + "sensorheight=" + m_AvParam[CntNum - 1].height.ToString(); req = (HttpWebRequest)WebRequest.Create(URL); req.Credentials = new NetworkCredential("admin", m_PassWord); res = req.GetResponse(); res.Close(); //Day/Night 설정 EnumConverter fdn = new EnumConverter(typeof(DN_modes)); Int32 dn = (Int32)fdn.ConvertFromString(m_AvParam[CntNum - 1].dn_mode.ToString()); string dnmode = ""; switch (dn) { case (0): dnmode = "auto"; break; case (1): dnmode = "day"; break; case (2): dnmode = "night"; break; } URL = "http://" + m_Avips[CntNum - 1] + "/set?" + "daynight=" + dnmode; req = (HttpWebRequest)WebRequest.Create(URL); req.Credentials = new NetworkCredential("admin", m_PassWord); res = req.GetResponse(); res.Close(); //Light 모드 설정 EnumConverter fln = new EnumConverter(typeof(Light_modes)); Int32 ln = (Int32)fln.ConvertFromString(m_AvParam[CntNum - 1].light.ToString()); URL = "http://" + m_Avips[CntNum - 1] + "/set?" + "freq=" + ln.ToString(); req = (HttpWebRequest)WebRequest.Create(URL); req.Credentials = new NetworkCredential("admin", m_PassWord); res = req.GetResponse(); res.Close(); //카메라 촬영 모드 설정 switch (m_AvParam[CntNum - 1].CameraMode) { case (4): dnmode = "highspeed"; break; case (0): dnmode = "speed"; break; case (1): dnmode = "quality"; break; case (2): dnmode = "balanced"; break; case (5): dnmode = "moonlight"; break; } URL = "http://" + m_Avips[CntNum - 1] + "/set?" + "lowlight=" + dnmode; req = (HttpWebRequest)WebRequest.Create(URL); req.Credentials = new NetworkCredential("admin", m_PassWord); res = req.GetResponse(); res.Close(); //shortexposures; //셔터스피드 설정 if (m_AvParam[CntNum - 1].CameraMode == 4) { URL = "http://" + m_Avips[CntNum - 1] + "/set?" + "shortexposures=" + m_AvParam[CntNum - 1].ShutterSpeed.ToString(); req = (HttpWebRequest)WebRequest.Create(URL); req.Credentials = new NetworkCredential("admin", m_PassWord); res = req.GetResponse(); res.Close(); } //rt = 4; //sharpness 설정 URL = "http://" + m_Avips[CntNum - 1] + "/set?" + "sharpness=4"; req = (HttpWebRequest)WebRequest.Create(URL); req.Credentials = new NetworkCredential("admin", m_PassWord); res = req.GetResponse(); res.Close(); Thread.Sleep(150); }
public void SetCameraParam(int CntNum) { int rt = 0; int model = 0; model = AV2K.pModel(CntNum); int maxheight = 0, maxwidth = 0; setResolution(model, ref maxwidth, ref maxheight); rt = AV2K.pSetAV2000Parameter(CntNum, CAMERA_PARAMETER.cpSENSOR_LEFT, ref m_AvParam[CntNum - 1].left); rt = AV2K.pSetAV2000Parameter(CntNum, CAMERA_PARAMETER.cpSENSOR_TOP, ref m_AvParam[CntNum - 1].top); if (m_AvParam[CntNum - 1].width > maxwidth) rt = AV2K.pSetAV2000Parameter(CntNum, CAMERA_PARAMETER.cpSENSOR_WIDTH, ref maxwidth); else rt = AV2K.pSetAV2000Parameter(CntNum, CAMERA_PARAMETER.cpSENSOR_WIDTH, ref m_AvParam[CntNum - 1].width); if (m_AvParam[CntNum - 1].height > maxheight) rt = AV2K.pSetAV2000Parameter(CntNum, CAMERA_PARAMETER.cpSENSOR_HEIGHT, ref maxheight); else rt = AV2K.pSetAV2000Parameter(CntNum, CAMERA_PARAMETER.cpSENSOR_HEIGHT, ref m_AvParam[CntNum - 1].height); EnumConverter fdn = new EnumConverter(typeof(DN_modes)); Int32 dn = (Int32)fdn.ConvertFromString(m_AvParam[CntNum - 1].dn_mode.ToString()); rt = AV2K.pSetAV2000Parameter(CntNum, CAMERA_PARAMETER.cpDAY_NIGHT_MODE, ref dn); EnumConverter fln = new EnumConverter(typeof(Light_modes)); Int32 ln = (Int32)fln.ConvertFromString(m_AvParam[CntNum - 1].light.ToString()); rt = AV2K.pSetAV2000Parameter(CntNum, CAMERA_PARAMETER.cpLIGHTING, ref ln); rt = AV2K.pSetAV2000Parameter(CntNum, CAMERA_PARAMETER.cpCAMERA_MODE, ref m_AvParam[CntNum - 1].CameraMode); if (m_AvParam[CntNum - 1].CameraMode == 4) AV2K.pSetAV2000Parameter(CntNum, CAMERA_PARAMETER.cpSHORT_EXPOSURES, ref m_AvParam[CntNum - 1].ShutterSpeed); rt = 4; AV2K.pSetAV2000Parameter(CntNum, CAMERA_PARAMETER.cpSHARPNESS, ref rt); Thread.Sleep(150); }