diff --git a/HSUCO_CCTV_Monitoring/HSUCO_CCTV_Monitoring.csproj b/HSUCO_CCTV_Monitoring/HSUCO_CCTV_Monitoring.csproj index f897b81..ebdf5e3 100644 --- a/HSUCO_CCTV_Monitoring/HSUCO_CCTV_Monitoring.csproj +++ b/HSUCO_CCTV_Monitoring/HSUCO_CCTV_Monitoring.csproj @@ -113,5 +113,20 @@ + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/HSUCO_CCTV_Monitoring/MainForm.Designer.cs b/HSUCO_CCTV_Monitoring/MainForm.Designer.cs index 7605779..4e8c849 100644 --- a/HSUCO_CCTV_Monitoring/MainForm.Designer.cs +++ b/HSUCO_CCTV_Monitoring/MainForm.Designer.cs @@ -29,114 +29,181 @@ private void InitializeComponent() { this.tableLayoutPanelMaster = new System.Windows.Forms.TableLayoutPanel(); - this.label2 = new System.Windows.Forms.Label(); this.flowLayoutPanel = new System.Windows.Forms.FlowLayoutPanel(); this.label1 = new System.Windows.Forms.Label(); + this.label2 = new System.Windows.Forms.Label(); + this.panel1 = new System.Windows.Forms.Panel(); + this.label3 = new System.Windows.Forms.Label(); + this.panel2 = new System.Windows.Forms.Panel(); this.listBox1 = new System.Windows.Forms.ListBox(); + this.panel3 = new System.Windows.Forms.Panel(); this.listBox2 = new System.Windows.Forms.ListBox(); this.tableLayoutPanelMaster.SuspendLayout(); + this.panel2.SuspendLayout(); + this.panel3.SuspendLayout(); this.SuspendLayout(); // // tableLayoutPanelMaster // - this.tableLayoutPanelMaster.BackColor = System.Drawing.Color.White; - this.tableLayoutPanelMaster.CellBorderStyle = System.Windows.Forms.TableLayoutPanelCellBorderStyle.Single; - this.tableLayoutPanelMaster.ColumnCount = 2; - this.tableLayoutPanelMaster.ColumnStyles.Add(new System.Windows.Forms.ColumnStyle(System.Windows.Forms.SizeType.Absolute, 500F)); - this.tableLayoutPanelMaster.ColumnStyles.Add(new System.Windows.Forms.ColumnStyle()); - this.tableLayoutPanelMaster.Controls.Add(this.label2, 1, 2); - this.tableLayoutPanelMaster.Controls.Add(this.flowLayoutPanel, 0, 0); - this.tableLayoutPanelMaster.Controls.Add(this.label1, 1, 0); - this.tableLayoutPanelMaster.Controls.Add(this.listBox1, 1, 1); - this.tableLayoutPanelMaster.Controls.Add(this.listBox2, 1, 3); + this.tableLayoutPanelMaster.BackColor = System.Drawing.Color.Black; + this.tableLayoutPanelMaster.ColumnCount = 5; + this.tableLayoutPanelMaster.ColumnStyles.Add(new System.Windows.Forms.ColumnStyle(System.Windows.Forms.SizeType.Absolute, 10F)); + this.tableLayoutPanelMaster.ColumnStyles.Add(new System.Windows.Forms.ColumnStyle(System.Windows.Forms.SizeType.Percent, 50F)); + this.tableLayoutPanelMaster.ColumnStyles.Add(new System.Windows.Forms.ColumnStyle(System.Windows.Forms.SizeType.Absolute, 10F)); + this.tableLayoutPanelMaster.ColumnStyles.Add(new System.Windows.Forms.ColumnStyle(System.Windows.Forms.SizeType.Percent, 50F)); + this.tableLayoutPanelMaster.ColumnStyles.Add(new System.Windows.Forms.ColumnStyle(System.Windows.Forms.SizeType.Absolute, 10F)); + this.tableLayoutPanelMaster.Controls.Add(this.label3, 1, 1); + this.tableLayoutPanelMaster.Controls.Add(this.label2, 3, 3); + this.tableLayoutPanelMaster.Controls.Add(this.flowLayoutPanel, 1, 2); + this.tableLayoutPanelMaster.Controls.Add(this.label1, 3, 1); + this.tableLayoutPanelMaster.Controls.Add(this.panel1, 2, 1); + this.tableLayoutPanelMaster.Controls.Add(this.panel2, 3, 2); + this.tableLayoutPanelMaster.Controls.Add(this.panel3, 3, 4); this.tableLayoutPanelMaster.Dock = System.Windows.Forms.DockStyle.Fill; this.tableLayoutPanelMaster.Location = new System.Drawing.Point(0, 0); this.tableLayoutPanelMaster.Margin = new System.Windows.Forms.Padding(0); this.tableLayoutPanelMaster.Name = "tableLayoutPanelMaster"; - this.tableLayoutPanelMaster.RowCount = 2; - this.tableLayoutPanelMaster.RowStyles.Add(new System.Windows.Forms.RowStyle(System.Windows.Forms.SizeType.Absolute, 30F)); + this.tableLayoutPanelMaster.RowCount = 6; + this.tableLayoutPanelMaster.RowStyles.Add(new System.Windows.Forms.RowStyle(System.Windows.Forms.SizeType.Absolute, 10F)); + this.tableLayoutPanelMaster.RowStyles.Add(new System.Windows.Forms.RowStyle(System.Windows.Forms.SizeType.Absolute, 50F)); this.tableLayoutPanelMaster.RowStyles.Add(new System.Windows.Forms.RowStyle(System.Windows.Forms.SizeType.Percent, 50F)); - this.tableLayoutPanelMaster.RowStyles.Add(new System.Windows.Forms.RowStyle(System.Windows.Forms.SizeType.Absolute, 30F)); + this.tableLayoutPanelMaster.RowStyles.Add(new System.Windows.Forms.RowStyle(System.Windows.Forms.SizeType.Absolute, 50F)); this.tableLayoutPanelMaster.RowStyles.Add(new System.Windows.Forms.RowStyle(System.Windows.Forms.SizeType.Percent, 50F)); - this.tableLayoutPanelMaster.Size = new System.Drawing.Size(804, 361); + this.tableLayoutPanelMaster.RowStyles.Add(new System.Windows.Forms.RowStyle(System.Windows.Forms.SizeType.Absolute, 10F)); + this.tableLayoutPanelMaster.Size = new System.Drawing.Size(1076, 541); this.tableLayoutPanelMaster.TabIndex = 4; // - // label2 - // - this.label2.AutoSize = true; - this.label2.BackColor = System.Drawing.Color.FromArgb(((int)(((byte)(255)))), ((int)(((byte)(192)))), ((int)(((byte)(192))))); - this.label2.BorderStyle = System.Windows.Forms.BorderStyle.FixedSingle; - this.label2.Dock = System.Windows.Forms.DockStyle.Fill; - this.label2.Font = new System.Drawing.Font("마비옛체", 20F, System.Drawing.FontStyle.Bold); - this.label2.ForeColor = System.Drawing.Color.Red; - this.label2.Location = new System.Drawing.Point(502, 181); - this.label2.Margin = new System.Windows.Forms.Padding(0); - this.label2.Name = "label2"; - this.label2.Padding = new System.Windows.Forms.Padding(50, 0, 0, 0); - this.label2.Size = new System.Drawing.Size(1274, 30); - this.label2.TabIndex = 6; - this.label2.Text = "CCTV (연결끊김)"; - // // flowLayoutPanel // this.flowLayoutPanel.BackColor = System.Drawing.Color.Black; this.flowLayoutPanel.Dock = System.Windows.Forms.DockStyle.Fill; - this.flowLayoutPanel.Location = new System.Drawing.Point(1, 1); + this.flowLayoutPanel.Location = new System.Drawing.Point(10, 60); this.flowLayoutPanel.Margin = new System.Windows.Forms.Padding(0); this.flowLayoutPanel.Name = "flowLayoutPanel"; - this.tableLayoutPanelMaster.SetRowSpan(this.flowLayoutPanel, 4); - this.flowLayoutPanel.Size = new System.Drawing.Size(500, 359); + this.tableLayoutPanelMaster.SetRowSpan(this.flowLayoutPanel, 3); + this.flowLayoutPanel.Size = new System.Drawing.Size(523, 470); this.flowLayoutPanel.TabIndex = 4; // // label1 // this.label1.AutoSize = true; - this.label1.BackColor = System.Drawing.Color.FromArgb(((int)(((byte)(192)))), ((int)(((byte)(192)))), ((int)(((byte)(255))))); - this.label1.BorderStyle = System.Windows.Forms.BorderStyle.FixedSingle; + this.label1.BackColor = System.Drawing.Color.Black; this.label1.Dock = System.Windows.Forms.DockStyle.Fill; - this.label1.Font = new System.Drawing.Font("마비옛체", 20F, System.Drawing.FontStyle.Bold); - this.label1.ForeColor = System.Drawing.Color.Blue; - this.label1.Location = new System.Drawing.Point(502, 1); + this.label1.Font = new System.Drawing.Font("마비옛체", 25F, System.Drawing.FontStyle.Bold); + this.label1.ForeColor = System.Drawing.Color.White; + this.label1.Image = global::HSUCO_CCTV_Monitoring.Properties.Resources.CCTV_Inspection_Title; + this.label1.Location = new System.Drawing.Point(543, 10); this.label1.Margin = new System.Windows.Forms.Padding(0); this.label1.Name = "label1"; - this.label1.Padding = new System.Windows.Forms.Padding(50, 0, 0, 0); - this.label1.Size = new System.Drawing.Size(1274, 30); - this.label1.TabIndex = 5; - this.label1.Text = "CCTV (점검필요)"; + this.label1.Size = new System.Drawing.Size(523, 50); + this.label1.TabIndex = 10; + this.label1.Text = "CCTV 점검필요"; + this.label1.TextAlign = System.Drawing.ContentAlignment.MiddleCenter; + // + // label2 + // + this.label2.AutoSize = true; + this.label2.BackColor = System.Drawing.Color.Black; + this.label2.Dock = System.Windows.Forms.DockStyle.Fill; + this.label2.Font = new System.Drawing.Font("마비옛체", 25F, System.Drawing.FontStyle.Bold); + this.label2.ForeColor = System.Drawing.Color.White; + this.label2.Image = global::HSUCO_CCTV_Monitoring.Properties.Resources.CCTV_Disconnect_Title; + this.label2.Location = new System.Drawing.Point(543, 270); + this.label2.Margin = new System.Windows.Forms.Padding(0); + this.label2.Name = "label2"; + this.label2.Size = new System.Drawing.Size(523, 50); + this.label2.TabIndex = 11; + this.label2.Text = "CCTV 연결끊김"; + this.label2.TextAlign = System.Drawing.ContentAlignment.MiddleCenter; + // + // panel1 + // + this.panel1.BackColor = System.Drawing.Color.Black; + this.panel1.Dock = System.Windows.Forms.DockStyle.Fill; + this.panel1.Location = new System.Drawing.Point(533, 10); + this.panel1.Margin = new System.Windows.Forms.Padding(0); + this.panel1.Name = "panel1"; + this.tableLayoutPanelMaster.SetRowSpan(this.panel1, 4); + this.panel1.Size = new System.Drawing.Size(10, 520); + this.panel1.TabIndex = 12; + // + // label3 + // + this.label3.AutoSize = true; + this.label3.BackColor = System.Drawing.Color.Black; + this.label3.Dock = System.Windows.Forms.DockStyle.Fill; + this.label3.Font = new System.Drawing.Font("마비옛체", 25F, System.Drawing.FontStyle.Bold); + this.label3.ForeColor = System.Drawing.Color.White; + this.label3.Image = global::HSUCO_CCTV_Monitoring.Properties.Resources.NVR_Title; + this.label3.Location = new System.Drawing.Point(10, 10); + this.label3.Margin = new System.Windows.Forms.Padding(0); + this.label3.Name = "label3"; + this.label3.Size = new System.Drawing.Size(523, 50); + this.label3.TabIndex = 13; + this.label3.Text = "서부권통합관제센터 NVR 모니터링"; + this.label3.TextAlign = System.Drawing.ContentAlignment.MiddleCenter; + // + // panel2 + // + this.panel2.BackColor = System.Drawing.Color.Black; + this.panel2.BackgroundImage = global::HSUCO_CCTV_Monitoring.Properties.Resources.CCTV_Inspection; + this.panel2.BackgroundImageLayout = System.Windows.Forms.ImageLayout.Stretch; + this.panel2.Controls.Add(this.listBox1); + this.panel2.Dock = System.Windows.Forms.DockStyle.Fill; + this.panel2.Location = new System.Drawing.Point(543, 60); + this.panel2.Margin = new System.Windows.Forms.Padding(0); + this.panel2.Name = "panel2"; + this.panel2.Padding = new System.Windows.Forms.Padding(10); + this.panel2.Size = new System.Drawing.Size(523, 210); + this.panel2.TabIndex = 14; // // listBox1 // - this.listBox1.BackColor = System.Drawing.Color.FromArgb(((int)(((byte)(192)))), ((int)(((byte)(192)))), ((int)(((byte)(255))))); - this.listBox1.BorderStyle = System.Windows.Forms.BorderStyle.FixedSingle; + this.listBox1.BackColor = System.Drawing.Color.FromArgb(((int)(((byte)(189)))), ((int)(((byte)(204)))), ((int)(((byte)(222))))); + this.listBox1.BorderStyle = System.Windows.Forms.BorderStyle.None; this.listBox1.Dock = System.Windows.Forms.DockStyle.Fill; this.listBox1.Font = new System.Drawing.Font("마비옛체", 12.75F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(129))); this.listBox1.FormattingEnabled = true; this.listBox1.ItemHeight = 18; - this.listBox1.Location = new System.Drawing.Point(502, 32); + this.listBox1.Location = new System.Drawing.Point(10, 10); this.listBox1.Margin = new System.Windows.Forms.Padding(0); this.listBox1.Name = "listBox1"; - this.listBox1.Size = new System.Drawing.Size(1274, 148); - this.listBox1.TabIndex = 7; + this.listBox1.Size = new System.Drawing.Size(503, 190); + this.listBox1.TabIndex = 8; + // + // panel3 + // + this.panel3.BackColor = System.Drawing.Color.Black; + this.panel3.BackgroundImage = global::HSUCO_CCTV_Monitoring.Properties.Resources.CCTV_Disconnect; + this.panel3.BackgroundImageLayout = System.Windows.Forms.ImageLayout.Stretch; + this.panel3.Controls.Add(this.listBox2); + this.panel3.Dock = System.Windows.Forms.DockStyle.Fill; + this.panel3.Location = new System.Drawing.Point(543, 320); + this.panel3.Margin = new System.Windows.Forms.Padding(0); + this.panel3.Name = "panel3"; + this.panel3.Padding = new System.Windows.Forms.Padding(10); + this.panel3.Size = new System.Drawing.Size(523, 210); + this.panel3.TabIndex = 15; // // listBox2 // - this.listBox2.BackColor = System.Drawing.Color.FromArgb(((int)(((byte)(255)))), ((int)(((byte)(192)))), ((int)(((byte)(192))))); - this.listBox2.BorderStyle = System.Windows.Forms.BorderStyle.FixedSingle; + this.listBox2.BackColor = System.Drawing.Color.FromArgb(((int)(((byte)(241)))), ((int)(((byte)(216)))), ((int)(((byte)(182))))); + this.listBox2.BorderStyle = System.Windows.Forms.BorderStyle.None; this.listBox2.Dock = System.Windows.Forms.DockStyle.Fill; this.listBox2.Font = new System.Drawing.Font("마비옛체", 12.75F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(129))); this.listBox2.FormattingEnabled = true; this.listBox2.ItemHeight = 18; - this.listBox2.Location = new System.Drawing.Point(502, 212); + this.listBox2.Location = new System.Drawing.Point(10, 10); this.listBox2.Margin = new System.Windows.Forms.Padding(0); this.listBox2.Name = "listBox2"; - this.listBox2.Size = new System.Drawing.Size(1274, 148); - this.listBox2.TabIndex = 8; + this.listBox2.Size = new System.Drawing.Size(503, 190); + this.listBox2.TabIndex = 9; // // MainForm // this.AutoScaleDimensions = new System.Drawing.SizeF(7F, 12F); this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font; - this.ClientSize = new System.Drawing.Size(804, 361); + this.ClientSize = new System.Drawing.Size(1076, 541); this.Controls.Add(this.tableLayoutPanelMaster); this.FormBorderStyle = System.Windows.Forms.FormBorderStyle.FixedToolWindow; this.MaximizeBox = false; @@ -146,6 +213,8 @@ this.Load += new System.EventHandler(this.MainForm_Load); this.tableLayoutPanelMaster.ResumeLayout(false); this.tableLayoutPanelMaster.PerformLayout(); + this.panel2.ResumeLayout(false); + this.panel3.ResumeLayout(false); this.ResumeLayout(false); } @@ -156,7 +225,11 @@ private System.Windows.Forms.FlowLayoutPanel flowLayoutPanel; private System.Windows.Forms.Label label2; private System.Windows.Forms.Label label1; + private System.Windows.Forms.Panel panel1; + private System.Windows.Forms.Label label3; + private System.Windows.Forms.Panel panel2; private System.Windows.Forms.ListBox listBox1; + private System.Windows.Forms.Panel panel3; private System.Windows.Forms.ListBox listBox2; } } diff --git a/HSUCO_CCTV_Monitoring/MainForm.cs b/HSUCO_CCTV_Monitoring/MainForm.cs index 9abaa46..662851e 100644 --- a/HSUCO_CCTV_Monitoring/MainForm.cs +++ b/HSUCO_CCTV_Monitoring/MainForm.cs @@ -33,10 +33,13 @@ namespace HSUCO_Server_Monitoring this.FormBorderStyle = FormBorderStyle.None; this.WindowState = FormWindowState.Maximized; Size = Screen.PrimaryScreen.WorkingArea.Size; - tableLayoutPanelMaster.ColumnStyles[0].SizeType = SizeType.Absolute; - tableLayoutPanelMaster.ColumnStyles[0].Width = 1490; - tableLayoutPanelMaster.ColumnStyles[1].SizeType = SizeType.AutoSize; + tableLayoutPanelMaster.ColumnStyles[0].SizeType = SizeType.Absolute; + tableLayoutPanelMaster.ColumnStyles[1].Width = 1100; + tableLayoutPanelMaster.ColumnStyles[3].SizeType = SizeType.Absolute; + tableLayoutPanelMaster.ColumnStyles[3].Width = 400; + + Task.Run(() => NVR_Runner()); diff --git a/HSUCO_CCTV_Monitoring/Properties/Resources.Designer.cs b/HSUCO_CCTV_Monitoring/Properties/Resources.Designer.cs index 1ab7fa4..208133a 100644 --- a/HSUCO_CCTV_Monitoring/Properties/Resources.Designer.cs +++ b/HSUCO_CCTV_Monitoring/Properties/Resources.Designer.cs @@ -60,6 +60,46 @@ namespace HSUCO_CCTV_Monitoring.Properties { } } + /// + /// System.Drawing.Bitmap 형식의 지역화된 리소스를 찾습니다. + /// + internal static System.Drawing.Bitmap CCTV_Disconnect { + get { + object obj = ResourceManager.GetObject("CCTV_Disconnect", resourceCulture); + return ((System.Drawing.Bitmap)(obj)); + } + } + + /// + /// System.Drawing.Bitmap 형식의 지역화된 리소스를 찾습니다. + /// + internal static System.Drawing.Bitmap CCTV_Disconnect_Title { + get { + object obj = ResourceManager.GetObject("CCTV_Disconnect_Title", resourceCulture); + return ((System.Drawing.Bitmap)(obj)); + } + } + + /// + /// System.Drawing.Bitmap 형식의 지역화된 리소스를 찾습니다. + /// + internal static System.Drawing.Bitmap CCTV_Inspection { + get { + object obj = ResourceManager.GetObject("CCTV_Inspection", resourceCulture); + return ((System.Drawing.Bitmap)(obj)); + } + } + + /// + /// System.Drawing.Bitmap 형식의 지역화된 리소스를 찾습니다. + /// + internal static System.Drawing.Bitmap CCTV_Inspection_Title { + get { + object obj = ResourceManager.GetObject("CCTV_Inspection_Title", resourceCulture); + return ((System.Drawing.Bitmap)(obj)); + } + } + /// /// System.Drawing.Bitmap 형식의 지역화된 리소스를 찾습니다. /// @@ -89,5 +129,15 @@ namespace HSUCO_CCTV_Monitoring.Properties { return ((System.Drawing.Bitmap)(obj)); } } + + /// + /// System.Drawing.Bitmap 형식의 지역화된 리소스를 찾습니다. + /// + internal static System.Drawing.Bitmap NVR_Title { + get { + object obj = ResourceManager.GetObject("NVR_Title", resourceCulture); + return ((System.Drawing.Bitmap)(obj)); + } + } } } diff --git a/HSUCO_CCTV_Monitoring/Properties/Resources.resx b/HSUCO_CCTV_Monitoring/Properties/Resources.resx index a008de0..64e14c2 100644 --- a/HSUCO_CCTV_Monitoring/Properties/Resources.resx +++ b/HSUCO_CCTV_Monitoring/Properties/Resources.resx @@ -118,6 +118,18 @@ System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + ..\Resources\CCTV_Disconnect.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + + ..\Resources\CCTV_Disconnect_Title.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + + ..\Resources\CCTV_Inspection.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + + ..\Resources\CCTV_Inspection_Title.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + ..\Resources\NVR_Fail.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a @@ -127,4 +139,7 @@ ..\Resources\NVR_Success.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + ..\Resources\NVR_Title.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + \ No newline at end of file diff --git a/HSUCO_CCTV_Monitoring/Resources/CCTV_Disconnect.png b/HSUCO_CCTV_Monitoring/Resources/CCTV_Disconnect.png new file mode 100644 index 0000000..03edea7 Binary files /dev/null and b/HSUCO_CCTV_Monitoring/Resources/CCTV_Disconnect.png differ diff --git a/HSUCO_CCTV_Monitoring/Resources/CCTV_Disconnect_Title.png b/HSUCO_CCTV_Monitoring/Resources/CCTV_Disconnect_Title.png new file mode 100644 index 0000000..f3e42ab Binary files /dev/null and b/HSUCO_CCTV_Monitoring/Resources/CCTV_Disconnect_Title.png differ diff --git a/HSUCO_CCTV_Monitoring/Resources/CCTV_Inspection.png b/HSUCO_CCTV_Monitoring/Resources/CCTV_Inspection.png new file mode 100644 index 0000000..bdb9fbe Binary files /dev/null and b/HSUCO_CCTV_Monitoring/Resources/CCTV_Inspection.png differ diff --git a/HSUCO_CCTV_Monitoring/Resources/CCTV_Inspection_Title.png b/HSUCO_CCTV_Monitoring/Resources/CCTV_Inspection_Title.png new file mode 100644 index 0000000..bcbf6d1 Binary files /dev/null and b/HSUCO_CCTV_Monitoring/Resources/CCTV_Inspection_Title.png differ diff --git a/HSUCO_CCTV_Monitoring/Resources/NVR_Title.png b/HSUCO_CCTV_Monitoring/Resources/NVR_Title.png new file mode 100644 index 0000000..f98559b Binary files /dev/null and b/HSUCO_CCTV_Monitoring/Resources/NVR_Title.png differ