/// <summary>
        /// 获取用户上次使用的分辨率
        /// </summary>
        /// <returns></returns>
        public string GetLastCamera()
        {
            string Resolution = null;

            if (!File.Exists(_CameraHistoryRealPath))
            {
                return(null);
            }

            //先解密这个文件
            Base64Helper.Base64Decode4txtFile(_CameraHistoryRealPath);

            XmlTextReader reader = new XmlTextReader(_CameraHistoryRealPath);

            while (reader.Read())
            {
                if (reader.NodeType == XmlNodeType.Element)
                {
                    if (reader.Name == "LastCamera")
                    {
                        Resolution = reader.ReadElementContentAsString();
                    }
                }
            }
            //关闭流
            reader.Close();
            reader = null;
            GC.Collect();
            //重新加密这个文件
            Base64Helper.Base64Encode4txtFile(_CameraHistoryRealPath);
            return(Resolution);
        }
Exemple #2
0
        /// <summary>
        /// 将配置集合持久化到配置文件中
        /// </summary>
        /// <param name="settings">要保存的配置文件集合</param>
        private void FlushDataToXmlFile(List <VideoSettingEntity> settings)
        {
            #region  通过 XmlTextWriter将配置持久化到文件中
            XmlTextWriter myXmlTextWriter = new XmlTextWriter(_VideoSettingRealPath, null);

            //使用 Formatting 属性指定希望将 XML 设定为何种格式。 这样,子元素就可以通过使用 Indentation 和 IndentChar 属性来缩进。
            myXmlTextWriter.Formatting = Formatting.Indented;
            myXmlTextWriter.WriteStartDocument(true);

            myXmlTextWriter.WriteStartElement("LiveChartsMap");
            myXmlTextWriter.WriteAttributeString("xmlns:xsi", "http://www.w3.org/2001/XMLSchema-instance");
            myXmlTextWriter.WriteAttributeString("xmlns:xsd", "http://www.w3.org/2001/XMLSchema");

            myXmlTextWriter.WriteStartElement("VideoSettings");

            settings.ForEach(m =>
            {
                myXmlTextWriter.WriteStartElement(nameof(VideoSettingEntity));

                myXmlTextWriter.WriteElementString(nameof(m.VideoSettingName), m.VideoSettingName);
                myXmlTextWriter.WriteElementString(nameof(m.Brightness), m.Brightness.ToString());
                myXmlTextWriter.WriteElementString(nameof(m.AutoBrightness), Convert.ToInt32(m.AutoBrightness).ToString());
                myXmlTextWriter.WriteElementString(nameof(m.ContrastRatio), m.ContrastRatio.ToString());
                myXmlTextWriter.WriteElementString(nameof(m.AutoContrastRatio), Convert.ToInt32(m.AutoContrastRatio).ToString());
                myXmlTextWriter.WriteElementString(nameof(m.Saturation), m.Saturation.ToString());
                myXmlTextWriter.WriteElementString(nameof(m.AutoSaturation), Convert.ToInt32(m.AutoSaturation).ToString());

                myXmlTextWriter.WriteElementString(nameof(m.Hue), m.Hue.ToString());
                myXmlTextWriter.WriteElementString(nameof(m.AutoHue), Convert.ToInt32(m.AutoHue).ToString());
                myXmlTextWriter.WriteElementString(nameof(m.Sharpness), m.Sharpness.ToString());
                myXmlTextWriter.WriteElementString(nameof(m.AutoSharpness), Convert.ToInt32(m.AutoSharpness).ToString());
                myXmlTextWriter.WriteElementString(nameof(m.Gamma), m.Gamma.ToString());
                myXmlTextWriter.WriteElementString(nameof(m.AutoGamma), Convert.ToInt32(m.AutoGamma).ToString());
                myXmlTextWriter.WriteElementString(nameof(m.ColorEnable), Convert.ToInt32(m.ColorEnable).ToString());
                myXmlTextWriter.WriteElementString(nameof(m.WhiteBalance), m.WhiteBalance.ToString());
                myXmlTextWriter.WriteElementString(nameof(m.AutoWhiteBalance), Convert.ToInt32(m.AutoWhiteBalance).ToString());
                myXmlTextWriter.WriteElementString(nameof(m.BacklightCompensation), m.BacklightCompensation.ToString());
                myXmlTextWriter.WriteElementString(nameof(m.AutoBacklightCompensation), Convert.ToInt32(m.AutoBacklightCompensation).ToString());
                myXmlTextWriter.WriteElementString(nameof(m.Gain), m.Gain.ToString());
                myXmlTextWriter.WriteElementString(nameof(m.AutoGain), Convert.ToInt32(m.AutoGain).ToString());

                myXmlTextWriter.WriteElementString(nameof(m.DefaultSetting), Convert.ToInt32(m.DefaultSetting).ToString());
                myXmlTextWriter.WriteEndElement();
            });
            myXmlTextWriter.WriteEndElement();
            myXmlTextWriter.WriteEndElement();
            myXmlTextWriter.Flush();
            myXmlTextWriter.Close();
            myXmlTextWriter = null;
            GC.Collect();
            #endregion
            //重新加密这个文件
            Base64Helper.Base64Encode4txtFile(_VideoSettingRealPath);
        }
        /// <summary>
        /// 获取用户上次使用的分辨率
        /// </summary>
        /// <returns></returns>
        public void SetLastCamera(string CameraName)
        {
            XmlTextWriter myXmlTextWriter = new XmlTextWriter(_CameraHistoryRealPath, null);

            //使用 Formatting 属性指定希望将 XML 设定为何种格式。 这样,子元素就可以通过使用 Indentation 和 IndentChar 属性来缩进。
            myXmlTextWriter.Formatting = Formatting.Indented;
            myXmlTextWriter.WriteStartDocument(true);

            myXmlTextWriter.WriteStartElement("ResolutionCfg");
            myXmlTextWriter.WriteAttributeString("xmlns:xsi", "http://www.w3.org/2001/XMLSchema-instance");
            myXmlTextWriter.WriteAttributeString("xmlns:xsd", "http://www.w3.org/2001/XMLSchema");

            myXmlTextWriter.WriteElementString("LastCamera", CameraName);
            myXmlTextWriter.WriteEndElement();
            myXmlTextWriter.Flush();
            myXmlTextWriter.Close();
            myXmlTextWriter = null;
            GC.Collect();


            //TODO 加密这个文件
            Base64Helper.Base64Encode4txtFile(_CameraHistoryRealPath);
        }
Exemple #4
0
        /// <summary>
        /// 获取当前用户保存的所有摄像头设置
        /// </summary>
        /// <returns>当前用户保存的所有摄像头设置</returns>
        public List <VideoSettingEntity> GetAllVideoSettings()
        {
            List <VideoSettingEntity> result = new List <VideoSettingEntity>();

            #region 读取文件
            if (!File.Exists(_VideoSettingRealPath))
            {
                return(null);
            }

            //先解密这个文件
            Base64Helper.Base64Decode4txtFile(_VideoSettingRealPath);

            XmlTextReader      reader  = new XmlTextReader(_VideoSettingRealPath);
            VideoSettingEntity setting = null;
            while (reader.Read())
            {
                if (reader.NodeType == XmlNodeType.Element)
                {
                    if (reader.Name == nameof(VideoSettingEntity))
                    {
                        setting = new VideoSettingEntity();
                        result.Add(setting);
                    }
                    if (reader.Name == nameof(setting.VideoSettingName))
                    {
                        setting.VideoSettingName = reader.ReadElementContentAsString();
                    }
                    else if (reader.Name == nameof(setting.Brightness))
                    {
                        if (setting != null)
                        {
                            setting.Brightness = reader.ReadElementContentAsInt();
                        }
                    }
                    else if (reader.Name == nameof(setting.AutoBrightness))
                    {
                        if (setting != null)
                        {
                            setting.AutoBrightness = reader.ReadElementContentAsBoolean();
                        }
                    }
                    else if (reader.Name == nameof(setting.ContrastRatio))
                    {
                        if (setting != null)
                        {
                            setting.ContrastRatio = reader.ReadElementContentAsInt();
                        }
                    }
                    else if (reader.Name == nameof(setting.AutoContrastRatio))
                    {
                        if (setting != null)
                        {
                            setting.AutoContrastRatio = reader.ReadElementContentAsBoolean();
                        }
                    }
                    else if (reader.Name == nameof(setting.Saturation))
                    {
                        if (setting != null)
                        {
                            setting.Saturation = reader.ReadElementContentAsInt();
                        }
                    }
                    else if (reader.Name == nameof(setting.AutoSaturation))
                    {
                        if (setting != null)
                        {
                            setting.AutoSaturation = reader.ReadElementContentAsBoolean();
                        }
                    }
                    else if (reader.Name == nameof(setting.DefaultSetting))
                    {
                        if (setting != null)
                        {
                            setting.DefaultSetting = reader.ReadElementContentAsBoolean();
                        }
                    }
                    else if (reader.Name == nameof(setting.Hue))
                    {
                        if (setting != null)
                        {
                            setting.Hue = reader.ReadElementContentAsInt();
                        }
                    }
                    else if (reader.Name == nameof(setting.AutoHue))
                    {
                        if (setting != null)
                        {
                            setting.AutoHue = reader.ReadElementContentAsBoolean();
                        }
                    }
                    else if (reader.Name == nameof(setting.Sharpness))
                    {
                        if (setting != null)
                        {
                            setting.Sharpness = reader.ReadElementContentAsInt();
                        }
                    }
                    else if (reader.Name == nameof(setting.AutoSharpness))
                    {
                        if (setting != null)
                        {
                            setting.AutoSharpness = reader.ReadElementContentAsBoolean();
                        }
                    }
                    else if (reader.Name == nameof(setting.Gamma))
                    {
                        if (setting != null)
                        {
                            setting.Gamma = reader.ReadElementContentAsInt();
                        }
                    }
                    else if (reader.Name == nameof(setting.AutoGamma))
                    {
                        if (setting != null)
                        {
                            setting.AutoGamma = reader.ReadElementContentAsBoolean();
                        }
                    }
                    else if (reader.Name == nameof(setting.ColorEnable))
                    {
                        if (setting != null)
                        {
                            setting.ColorEnable = reader.ReadElementContentAsBoolean();
                        }
                    }
                    else if (reader.Name == nameof(setting.WhiteBalance))
                    {
                        if (setting != null)
                        {
                            setting.WhiteBalance = reader.ReadElementContentAsInt();
                        }
                    }
                    else if (reader.Name == nameof(setting.AutoWhiteBalance))
                    {
                        if (setting != null)
                        {
                            setting.AutoWhiteBalance = reader.ReadElementContentAsBoolean();
                        }
                    }
                    else if (reader.Name == nameof(setting.BacklightCompensation))
                    {
                        if (setting != null)
                        {
                            setting.BacklightCompensation = reader.ReadElementContentAsInt();
                        }
                    }
                    else if (reader.Name == nameof(setting.AutoBacklightCompensation))
                    {
                        if (setting != null)
                        {
                            setting.AutoBacklightCompensation = reader.ReadElementContentAsBoolean();
                        }
                    }
                    else if (reader.Name == nameof(setting.Gain))
                    {
                        if (setting != null)
                        {
                            setting.Gain = reader.ReadElementContentAsInt();
                        }
                    }
                    else if (reader.Name == nameof(setting.AutoGain))
                    {
                        if (setting != null)
                        {
                            setting.AutoGain = reader.ReadElementContentAsBoolean();
                        }
                    }
                }
            }
            //关闭流
            reader.Close();
            reader = null;
            GC.Collect();
            #endregion
            //重新加密这个文件
            Base64Helper.Base64Encode4txtFile(_VideoSettingRealPath);
            return(result);
        }