diff --git a/A2/Passport/Passport.v11.suo b/A2/Passport/Passport.v11.suo new file mode 100644 index 0000000..d48b1f9 Binary files /dev/null and b/A2/Passport/Passport.v11.suo differ diff --git a/A2/Passport/Passport/bin/Debug/Passport.exe b/A2/Passport/Passport/bin/Debug/Passport.exe index c22f02b..f76676d 100644 Binary files a/A2/Passport/Passport/bin/Debug/Passport.exe and b/A2/Passport/Passport/bin/Debug/Passport.exe differ diff --git a/A2/Passport/Passport/bin/Debug/Passport.pdb b/A2/Passport/Passport/bin/Debug/Passport.pdb index 1afa220..cc67399 100644 Binary files a/A2/Passport/Passport/bin/Debug/Passport.pdb and b/A2/Passport/Passport/bin/Debug/Passport.pdb differ diff --git a/A2/Passport/Passport/bin/Debug/Passport.vshost.exe b/A2/Passport/Passport/bin/Debug/Passport.vshost.exe index 551c0cd..8c84517 100644 Binary files a/A2/Passport/Passport/bin/Debug/Passport.vshost.exe and b/A2/Passport/Passport/bin/Debug/Passport.vshost.exe differ diff --git a/A2/Passport/Passport/obj/Debug/DesignTimeResolveAssemblyReferences.cache b/A2/Passport/Passport/obj/Debug/DesignTimeResolveAssemblyReferences.cache new file mode 100644 index 0000000..47a5358 Binary files /dev/null and b/A2/Passport/Passport/obj/Debug/DesignTimeResolveAssemblyReferences.cache differ diff --git a/A2/Passport/Passport/obj/Debug/DesignTimeResolveAssemblyReferencesInput.cache b/A2/Passport/Passport/obj/Debug/DesignTimeResolveAssemblyReferencesInput.cache new file mode 100644 index 0000000..ec68be7 Binary files /dev/null and b/A2/Passport/Passport/obj/Debug/DesignTimeResolveAssemblyReferencesInput.cache differ diff --git a/A2/Passport/Passport/obj/Debug/Passport.EmploymentForm.resources b/A2/Passport/Passport/obj/Debug/Passport.EmploymentForm.resources new file mode 100644 index 0000000..6c05a97 Binary files /dev/null and b/A2/Passport/Passport/obj/Debug/Passport.EmploymentForm.resources differ diff --git a/A2/Passport/Passport/obj/Debug/Passport.Form1.resources b/A2/Passport/Passport/obj/Debug/Passport.Form1.resources new file mode 100644 index 0000000..cf4bad6 Binary files /dev/null and b/A2/Passport/Passport/obj/Debug/Passport.Form1.resources differ diff --git a/A2/Passport/Passport/obj/Debug/Passport.NoNoMessageBox.resources b/A2/Passport/Passport/obj/Debug/Passport.NoNoMessageBox.resources new file mode 100644 index 0000000..6c05a97 Binary files /dev/null and b/A2/Passport/Passport/obj/Debug/Passport.NoNoMessageBox.resources differ diff --git a/A2/Passport/Passport/obj/Debug/Passport.Properties.Resources.resources b/A2/Passport/Passport/obj/Debug/Passport.Properties.Resources.resources new file mode 100644 index 0000000..6c05a97 Binary files /dev/null and b/A2/Passport/Passport/obj/Debug/Passport.Properties.Resources.resources differ diff --git a/A2/Passport/Passport/obj/Debug/Passport.csproj.FileListAbsolute.txt b/A2/Passport/Passport/obj/Debug/Passport.csproj.FileListAbsolute.txt new file mode 100644 index 0000000..99b64ef --- /dev/null +++ b/A2/Passport/Passport/obj/Debug/Passport.csproj.FileListAbsolute.txt @@ -0,0 +1,10 @@ +C:\Users\User\Desktop\xxx\prog2015\A2\Passport\Passport\bin\Debug\Passport.exe.config +C:\Users\User\Desktop\xxx\prog2015\A2\Passport\Passport\bin\Debug\Passport.exe +C:\Users\User\Desktop\xxx\prog2015\A2\Passport\Passport\bin\Debug\Passport.pdb +C:\Users\User\Desktop\xxx\prog2015\A2\Passport\Passport\obj\Debug\Passport.EmploymentForm.resources +C:\Users\User\Desktop\xxx\prog2015\A2\Passport\Passport\obj\Debug\Passport.Form1.resources +C:\Users\User\Desktop\xxx\prog2015\A2\Passport\Passport\obj\Debug\Passport.NoNoMessageBox.resources +C:\Users\User\Desktop\xxx\prog2015\A2\Passport\Passport\obj\Debug\Passport.Properties.Resources.resources +C:\Users\User\Desktop\xxx\prog2015\A2\Passport\Passport\obj\Debug\Passport.csproj.GenerateResource.Cache +C:\Users\User\Desktop\xxx\prog2015\A2\Passport\Passport\obj\Debug\Passport.exe +C:\Users\User\Desktop\xxx\prog2015\A2\Passport\Passport\obj\Debug\Passport.pdb diff --git a/A2/Passport/Passport/obj/Debug/Passport.csproj.GenerateResource.Cache b/A2/Passport/Passport/obj/Debug/Passport.csproj.GenerateResource.Cache new file mode 100644 index 0000000..e69348c Binary files /dev/null and b/A2/Passport/Passport/obj/Debug/Passport.csproj.GenerateResource.Cache differ diff --git a/A2/Passport/Passport/obj/Debug/Passport.exe b/A2/Passport/Passport/obj/Debug/Passport.exe new file mode 100644 index 0000000..f76676d Binary files /dev/null and b/A2/Passport/Passport/obj/Debug/Passport.exe differ diff --git a/A2/Passport/Passport/obj/Debug/Passport.pdb b/A2/Passport/Passport/obj/Debug/Passport.pdb new file mode 100644 index 0000000..cc67399 Binary files /dev/null and b/A2/Passport/Passport/obj/Debug/Passport.pdb differ diff --git a/A2/Passport/Passport/obj/Debug/TemporaryGeneratedFile_036C0B5B-1481-4323-8D20-8F5ADCB23D92.cs b/A2/Passport/Passport/obj/Debug/TemporaryGeneratedFile_036C0B5B-1481-4323-8D20-8F5ADCB23D92.cs new file mode 100644 index 0000000..e69de29 diff --git a/A2/Passport/Passport/obj/Debug/TemporaryGeneratedFile_5937a670-0e60-4077-877b-f7221da3dda1.cs b/A2/Passport/Passport/obj/Debug/TemporaryGeneratedFile_5937a670-0e60-4077-877b-f7221da3dda1.cs new file mode 100644 index 0000000..e69de29 diff --git a/A2/Passport/Passport/obj/Debug/TemporaryGeneratedFile_E7A71F73-0F8D-4B9B-B56E-8E70B10BC5D3.cs b/A2/Passport/Passport/obj/Debug/TemporaryGeneratedFile_E7A71F73-0F8D-4B9B-B56E-8E70B10BC5D3.cs new file mode 100644 index 0000000..e69de29 diff --git a/List/outt.txt b/List/outt.txt index 56a6051..089b2e2 100644 --- a/List/outt.txt +++ b/List/outt.txt @@ -1 +1,4 @@ -1 \ No newline at end of file +A2+A3 https://github.com/outt/prog2015/commit/7976782fd5a108ef50c9df2c8168f41d2f00ac64#commitcomment-10884248 +C1 https://github.com/outt/prog2015/commit/ae3019dd6bc684a25e2243cdfce6d73b309fa2f0#commitcomment-11556351 +D1 https://github.com/outt/prog2015/commit/4a5bc57c6858ec1143e2728eb223854cc5397b71#commitcomment-115563 + : 5 \ No newline at end of file diff --git a/artem_labi/A2/A2.sln b/artem_labi/A2/A2.sln new file mode 100644 index 0000000..65cd3ef --- /dev/null +++ b/artem_labi/A2/A2.sln @@ -0,0 +1,20 @@ + +Microsoft Visual Studio Solution File, Format Version 12.00 +# Visual Studio 2012 +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "A2", "A2\A2.csproj", "{33F8987C-4A0D-47AC-9482-0DBD4B39A4A2}" +EndProject +Global + GlobalSection(SolutionConfigurationPlatforms) = preSolution + Debug|Any CPU = Debug|Any CPU + Release|Any CPU = Release|Any CPU + EndGlobalSection + GlobalSection(ProjectConfigurationPlatforms) = postSolution + {33F8987C-4A0D-47AC-9482-0DBD4B39A4A2}.Debug|Any CPU.ActiveCfg = Debug|Any CPU + {33F8987C-4A0D-47AC-9482-0DBD4B39A4A2}.Debug|Any CPU.Build.0 = Debug|Any CPU + {33F8987C-4A0D-47AC-9482-0DBD4B39A4A2}.Release|Any CPU.ActiveCfg = Release|Any CPU + {33F8987C-4A0D-47AC-9482-0DBD4B39A4A2}.Release|Any CPU.Build.0 = Release|Any CPU + EndGlobalSection + GlobalSection(SolutionProperties) = preSolution + HideSolutionNode = FALSE + EndGlobalSection +EndGlobal diff --git a/artem_labi/A2/A2.v11.suo b/artem_labi/A2/A2.v11.suo new file mode 100644 index 0000000..e7197bb Binary files /dev/null and b/artem_labi/A2/A2.v11.suo differ diff --git a/artem_labi/A2/A2/A2.csproj b/artem_labi/A2/A2/A2.csproj new file mode 100644 index 0000000..ffe707c --- /dev/null +++ b/artem_labi/A2/A2/A2.csproj @@ -0,0 +1,99 @@ + + + + + Debug + AnyCPU + {33F8987C-4A0D-47AC-9482-0DBD4B39A4A2} + WinExe + Properties + ws + A2 + v4.5 + 512 + + + AnyCPU + true + full + false + bin\Debug\ + DEBUG;TRACE + prompt + 4 + + + AnyCPU + pdbonly + true + bin\Release\ + TRACE + prompt + 4 + + + + + + + + + + + + + + + + Form + + + Ex-clubs.cs + + + Form + + + Form1.cs + + + + + + Ex-clubs.cs + + + Form1.cs + + + ResXFileCodeGenerator + Resources.Designer.cs + Designer + + + True + Resources.resx + True + + + SettingsSingleFileGenerator + Settings.Designer.cs + + + True + Settings.settings + True + + + + + + + + \ No newline at end of file diff --git a/artem_labi/A2/A2/App.config b/artem_labi/A2/A2/App.config new file mode 100644 index 0000000..8e15646 --- /dev/null +++ b/artem_labi/A2/A2/App.config @@ -0,0 +1,6 @@ + + + + + + \ No newline at end of file diff --git a/artem_labi/A2/A2/Ex-clubs.Designer.cs b/artem_labi/A2/A2/Ex-clubs.Designer.cs new file mode 100644 index 0000000..b395972 --- /dev/null +++ b/artem_labi/A2/A2/Ex-clubs.Designer.cs @@ -0,0 +1,175 @@ +namespace ws +{ + partial class FORMA + { + /// + /// Required designer variable. + /// + private System.ComponentModel.IContainer components = null; + + /// + /// Clean up any resources being used. + /// + /// true if managed resources should be disposed; otherwise, false. + protected override void Dispose(bool disposing) + { + if (disposing && (components != null)) + { + components.Dispose(); + } + base.Dispose(disposing); + } + + #region Windows Form Designer generated code + + /// + /// Required method for Designer support - do not modify + /// the contents of this method with the code editor. + /// + private void InitializeComponent() + { + this.label1 = new System.Windows.Forms.Label(); + this.comboBox3 = new System.Windows.Forms.ComboBox(); + this.label4 = new System.Windows.Forms.Label(); + this.textBox_team = new System.Windows.Forms.TextBox(); + this.label2 = new System.Windows.Forms.Label(); + this.dateTimePicker1 = new System.Windows.Forms.DateTimePicker(); + this.label3 = new System.Windows.Forms.Label(); + this.dateTimePicker2 = new System.Windows.Forms.DateTimePicker(); + this.button12 = new System.Windows.Forms.Button(); + this.button2 = new System.Windows.Forms.Button(); + this.SuspendLayout(); + // + // label1 + // + this.label1.AutoSize = true; + this.label1.Location = new System.Drawing.Point(12, 9); + this.label1.Name = "label1"; + this.label1.Size = new System.Drawing.Size(73, 13); + this.label1.TabIndex = 7; + this.label1.Text = "Играл в лиге"; + // + // comboBox3 + // + this.comboBox3.FormattingEnabled = true; + this.comboBox3.Items.AddRange(new object[] { + "Barclays Premier League", + "Liga BBVA", + "Serie A", + "Ligue 1", + "Bundesliga"}); + this.comboBox3.Location = new System.Drawing.Point(12, 25); + this.comboBox3.Name = "comboBox3"; + this.comboBox3.Size = new System.Drawing.Size(121, 21); + this.comboBox3.TabIndex = 10; + // + // label4 + // + this.label4.AutoSize = true; + this.label4.Location = new System.Drawing.Point(12, 73); + this.label4.Name = "label4"; + this.label4.Size = new System.Drawing.Size(61, 13); + this.label4.TabIndex = 11; + this.label4.Text = "В команде"; + // + // textBox_team + // + this.textBox_team.Location = new System.Drawing.Point(12, 89); + this.textBox_team.Name = "textBox_team"; + this.textBox_team.Size = new System.Drawing.Size(100, 20); + this.textBox_team.TabIndex = 12; + // + // label2 + // + this.label2.AutoSize = true; + this.label2.Location = new System.Drawing.Point(12, 137); + this.label2.Name = "label2"; + this.label2.Size = new System.Drawing.Size(14, 13); + this.label2.TabIndex = 13; + this.label2.Text = "С"; + // + // dateTimePicker1 + // + this.dateTimePicker1.Location = new System.Drawing.Point(12, 153); + this.dateTimePicker1.Name = "dateTimePicker1"; + this.dateTimePicker1.Size = new System.Drawing.Size(200, 20); + this.dateTimePicker1.TabIndex = 14; + // + // label3 + // + this.label3.AutoSize = true; + this.label3.Location = new System.Drawing.Point(12, 194); + this.label3.Name = "label3"; + this.label3.Size = new System.Drawing.Size(21, 13); + this.label3.TabIndex = 15; + this.label3.Text = "По"; + // + // dateTimePicker2 + // + this.dateTimePicker2.Location = new System.Drawing.Point(12, 210); + this.dateTimePicker2.Name = "dateTimePicker2"; + this.dateTimePicker2.Size = new System.Drawing.Size(200, 20); + this.dateTimePicker2.TabIndex = 16; + // + // button12 + // + this.button12.Anchor = ((System.Windows.Forms.AnchorStyles)(((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Left) + | System.Windows.Forms.AnchorStyles.Right))); + this.button12.DialogResult = System.Windows.Forms.DialogResult.OK; + this.button12.Location = new System.Drawing.Point(23, 432); + this.button12.Name = "button12"; + this.button12.Size = new System.Drawing.Size(89, 29); + this.button12.TabIndex = 17; + this.button12.Text = "Принять"; + this.button12.UseVisualStyleBackColor = true; + this.button12.Click += new System.EventHandler(this.button1_Click_1); + // + // button2 + // + this.button2.Anchor = ((System.Windows.Forms.AnchorStyles)(((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Left) + | System.Windows.Forms.AnchorStyles.Right))); + this.button2.DialogResult = System.Windows.Forms.DialogResult.Cancel; + this.button2.Location = new System.Drawing.Point(131, 432); + this.button2.Name = "button2"; + this.button2.Size = new System.Drawing.Size(88, 29); + this.button2.TabIndex = 18; + this.button2.Text = "Отмена"; + this.button2.UseVisualStyleBackColor = true; + this.button2.Click += new System.EventHandler(this.button2_Click); + // + // FORMA + // + this.AutoScaleDimensions = new System.Drawing.SizeF(6F, 13F); + this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font; + this.ClientSize = new System.Drawing.Size(231, 473); + this.Controls.Add(this.button2); + this.Controls.Add(this.button12); + this.Controls.Add(this.dateTimePicker2); + this.Controls.Add(this.label3); + this.Controls.Add(this.dateTimePicker1); + this.Controls.Add(this.label2); + this.Controls.Add(this.textBox_team); + this.Controls.Add(this.label4); + this.Controls.Add(this.comboBox3); + this.Controls.Add(this.label1); + this.Name = "FORMA"; + this.Text = "Ex_clubs"; + this.ResumeLayout(false); + this.PerformLayout(); + + } + + #endregion + + private System.Windows.Forms.Label label1; + private System.Windows.Forms.ComboBox comboBox3; + private System.Windows.Forms.Label label4; + private System.Windows.Forms.TextBox textBox_team; + private System.Windows.Forms.Label label2; + private System.Windows.Forms.DateTimePicker dateTimePicker1; + private System.Windows.Forms.Label label3; + private System.Windows.Forms.DateTimePicker dateTimePicker2; + private System.Windows.Forms.Button button12; + private System.Windows.Forms.Button button2; + } +} \ No newline at end of file diff --git a/artem_labi/A2/A2/Ex-clubs.cs b/artem_labi/A2/A2/Ex-clubs.cs new file mode 100644 index 0000000..1a326c2 --- /dev/null +++ b/artem_labi/A2/A2/Ex-clubs.cs @@ -0,0 +1,39 @@ +using System; +using System.Collections.Generic; +using System.ComponentModel; +using System.Data; +using System.Drawing; +using System.Linq; +using System.Text; +using System.Threading.Tasks; +using System.Windows.Forms; + +namespace ws +{ + public partial class FORMA : Form + { + public FORMA() + { + InitializeComponent(); + } + + public Add Data { get; set; } + + private void button1_Click_1(object sender, EventArgs e) + { + Data = new Add(); + Data.Combo3 = comboBox3.Text; + Data.Team = textBox_team.Text; + Data.Start = dateTimePicker1.Value; + Data.End = dateTimePicker2.Value; + + } + + private void button2_Click(object sender, EventArgs e) + { + + } + + + } +} diff --git a/artem_labi/A2/A2/Ex-clubs.resx b/artem_labi/A2/A2/Ex-clubs.resx new file mode 100644 index 0000000..1af7de1 --- /dev/null +++ b/artem_labi/A2/A2/Ex-clubs.resx @@ -0,0 +1,120 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + text/microsoft-resx + + + 2.0 + + + System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + \ No newline at end of file diff --git a/artem_labi/A2/A2/Form1.Designer.cs b/artem_labi/A2/A2/Form1.Designer.cs new file mode 100644 index 0000000..3ab0b89 --- /dev/null +++ b/artem_labi/A2/A2/Form1.Designer.cs @@ -0,0 +1,278 @@ +namespace ws +{ + partial class Form1 + { + /// + /// Требуется переменная конструктора. + /// + private System.ComponentModel.IContainer components = null; + + /// + /// Освободить все используемые ресурсы. + /// + /// истинно, если управляемый ресурс должен быть удален; иначе ложно. + protected override void Dispose(bool disposing) + { + if (disposing && (components != null)) + { + components.Dispose(); + } + base.Dispose(disposing); + } + + #region Код, автоматически созданный конструктором форм Windows + + /// + /// Обязательный метод для поддержки конструктора - не изменяйте + /// содержимое данного метода при помощи редактора кода. + /// + private void InitializeComponent() + { + this.label1 = new System.Windows.Forms.Label(); + this.Text_Box_Surname = new System.Windows.Forms.TextBox(); + this.label2 = new System.Windows.Forms.Label(); + this.Text_Box_name = new System.Windows.Forms.TextBox(); + this.label3 = new System.Windows.Forms.Label(); + this.Text_Box_Patronymic = new System.Windows.Forms.TextBox(); + this.label4 = new System.Windows.Forms.Label(); + this.comboBox1 = new System.Windows.Forms.ComboBox(); + this.label7 = new System.Windows.Forms.Label(); + this.comboBox2 = new System.Windows.Forms.ComboBox(); + this.label5 = new System.Windows.Forms.Label(); + this.Date_Birthday = new System.Windows.Forms.DateTimePicker(); + this.label6 = new System.Windows.Forms.Label(); + this.AddItem = new System.Windows.Forms.Button(); + this.RemoveItem = new System.Windows.Forms.Button(); + this.Save = new System.Windows.Forms.Button(); + this.Load = new System.Windows.Forms.Button(); + this.listBox1 = new System.Windows.Forms.ListBox(); + this.SuspendLayout(); + // + // label1 + // + this.label1.AutoSize = true; + this.label1.Font = new System.Drawing.Font("Microsoft Sans Serif", 10F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(204))); + this.label1.ForeColor = System.Drawing.SystemColors.HotTrack; + this.label1.Location = new System.Drawing.Point(9, 19); + this.label1.Name = "label1"; + this.label1.Size = new System.Drawing.Size(70, 17); + this.label1.TabIndex = 1; + this.label1.Text = "Фамилия"; + // + // Text_Box_Surname + // + this.Text_Box_Surname.Location = new System.Drawing.Point(12, 39); + this.Text_Box_Surname.Name = "Text_Box_Surname"; + this.Text_Box_Surname.Size = new System.Drawing.Size(118, 20); + this.Text_Box_Surname.TabIndex = 2; + // + // label2 + // + this.label2.AutoSize = true; + this.label2.Font = new System.Drawing.Font("Microsoft Sans Serif", 10F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(204))); + this.label2.ForeColor = System.Drawing.SystemColors.HotTrack; + this.label2.Location = new System.Drawing.Point(12, 75); + this.label2.Name = "label2"; + this.label2.Size = new System.Drawing.Size(35, 17); + this.label2.TabIndex = 3; + this.label2.Text = "Имя"; + // + // Text_Box_name + // + this.Text_Box_name.Location = new System.Drawing.Point(12, 95); + this.Text_Box_name.Name = "Text_Box_name"; + this.Text_Box_name.Size = new System.Drawing.Size(118, 20); + this.Text_Box_name.TabIndex = 4; + // + // label3 + // + this.label3.AutoSize = true; + this.label3.Font = new System.Drawing.Font("Microsoft Sans Serif", 10F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(204))); + this.label3.ForeColor = System.Drawing.SystemColors.HotTrack; + this.label3.Location = new System.Drawing.Point(12, 132); + this.label3.Name = "label3"; + this.label3.Size = new System.Drawing.Size(71, 17); + this.label3.TabIndex = 5; + this.label3.Text = "Отчество"; + // + // Text_Box_Patronymic + // + this.Text_Box_Patronymic.Location = new System.Drawing.Point(12, 152); + this.Text_Box_Patronymic.Name = "Text_Box_Patronymic"; + this.Text_Box_Patronymic.Size = new System.Drawing.Size(121, 20); + this.Text_Box_Patronymic.TabIndex = 6; + // + // label4 + // + this.label4.AutoSize = true; + this.label4.ForeColor = System.Drawing.SystemColors.WindowText; + this.label4.Location = new System.Drawing.Point(12, 185); + this.label4.Name = "label4"; + this.label4.Size = new System.Drawing.Size(45, 13); + this.label4.TabIndex = 53; + this.label4.Text = "Амплуа"; + // + // comboBox1 + // + this.comboBox1.FormattingEnabled = true; + this.comboBox1.Items.AddRange(new object[] { + "Вратарь", + "Защитник", + "Полузащитник", + "Нападающий"}); + this.comboBox1.Location = new System.Drawing.Point(9, 201); + this.comboBox1.Name = "comboBox1"; + this.comboBox1.Size = new System.Drawing.Size(121, 21); + this.comboBox1.TabIndex = 54; + // + // label7 + // + this.label7.AutoSize = true; + this.label7.Location = new System.Drawing.Point(9, 242); + this.label7.Name = "label7"; + this.label7.Size = new System.Drawing.Size(75, 13); + this.label7.TabIndex = 55; + this.label7.Text = "Рабочая нога"; + // + // comboBox2 + // + this.comboBox2.FormattingEnabled = true; + this.comboBox2.Items.AddRange(new object[] { + "Правая", + "Левая"}); + this.comboBox2.Location = new System.Drawing.Point(12, 258); + this.comboBox2.Name = "comboBox2"; + this.comboBox2.Size = new System.Drawing.Size(121, 21); + this.comboBox2.TabIndex = 56; + // + // label5 + // + this.label5.AutoSize = true; + this.label5.Font = new System.Drawing.Font("Microsoft Sans Serif", 10F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(204))); + this.label5.Location = new System.Drawing.Point(12, 296); + this.label5.Name = "label5"; + this.label5.Size = new System.Drawing.Size(111, 17); + this.label5.TabIndex = 57; + this.label5.Text = "Дата рождения"; + // + // Date_Birthday + // + this.Date_Birthday.Location = new System.Drawing.Point(12, 316); + this.Date_Birthday.Name = "Date_Birthday"; + this.Date_Birthday.Size = new System.Drawing.Size(121, 20); + this.Date_Birthday.TabIndex = 58; + // + // label6 + // + this.label6.AutoSize = true; + this.label6.Font = new System.Drawing.Font("Microsoft Sans Serif", 10F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(204))); + this.label6.Location = new System.Drawing.Point(172, 39); + this.label6.Name = "label6"; + this.label6.Size = new System.Drawing.Size(105, 17); + this.label6.TabIndex = 60; + this.label6.Text = "Бывшие клубы"; + // + // AddItem + // + this.AddItem.Location = new System.Drawing.Point(175, 261); + this.AddItem.Name = "AddItem"; + this.AddItem.Size = new System.Drawing.Size(82, 25); + this.AddItem.TabIndex = 61; + this.AddItem.Text = "Добавить"; + this.AddItem.UseVisualStyleBackColor = true; + this.AddItem.Click += new System.EventHandler(this.AddItem_Click); + // + // RemoveItem + // + this.RemoveItem.Location = new System.Drawing.Point(263, 261); + this.RemoveItem.Name = "RemoveItem"; + this.RemoveItem.Size = new System.Drawing.Size(82, 25); + this.RemoveItem.TabIndex = 62; + this.RemoveItem.Text = "Убрать"; + this.RemoveItem.UseVisualStyleBackColor = true; + this.RemoveItem.Click += new System.EventHandler(this.RemoveItem_Click); + // + // Save + // + this.Save.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Bottom | System.Windows.Forms.AnchorStyles.Right))); + this.Save.Location = new System.Drawing.Point(380, 347); + this.Save.Name = "Save"; + this.Save.Size = new System.Drawing.Size(82, 25); + this.Save.TabIndex = 63; + this.Save.Text = "Сохранить"; + this.Save.UseVisualStyleBackColor = true; + this.Save.Click += new System.EventHandler(this.Save_Click); + // + // Load + // + this.Load.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Bottom | System.Windows.Forms.AnchorStyles.Right))); + this.Load.Location = new System.Drawing.Point(468, 347); + this.Load.Name = "Load"; + this.Load.Size = new System.Drawing.Size(82, 25); + this.Load.TabIndex = 64; + this.Load.Text = "Загрузить"; + this.Load.UseVisualStyleBackColor = true; + this.Load.Click += new System.EventHandler(this.Load_Click); + // + // listBox1 + // + this.listBox1.FormattingEnabled = true; + this.listBox1.Location = new System.Drawing.Point(183, 77); + this.listBox1.Name = "listBox1"; + this.listBox1.Size = new System.Drawing.Size(367, 147); + this.listBox1.TabIndex = 65; + this.listBox1.SelectedIndexChanged += new System.EventHandler(this.listBox1_SelectedIndexChanged_1); + // + // Form1 + // + this.AutoScaleDimensions = new System.Drawing.SizeF(6F, 13F); + this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font; + this.ClientSize = new System.Drawing.Size(577, 384); + this.Controls.Add(this.listBox1); + this.Controls.Add(this.Load); + this.Controls.Add(this.Save); + this.Controls.Add(this.RemoveItem); + this.Controls.Add(this.AddItem); + this.Controls.Add(this.label6); + this.Controls.Add(this.Date_Birthday); + this.Controls.Add(this.label5); + this.Controls.Add(this.comboBox2); + this.Controls.Add(this.label7); + this.Controls.Add(this.comboBox1); + this.Controls.Add(this.label4); + this.Controls.Add(this.Text_Box_Patronymic); + this.Controls.Add(this.label3); + this.Controls.Add(this.Text_Box_name); + this.Controls.Add(this.label2); + this.Controls.Add(this.Text_Box_Surname); + this.Controls.Add(this.label1); + this.Name = "Form1"; + this.Text = "Резюме футблиста"; + this.ResumeLayout(false); + this.PerformLayout(); + + } + + #endregion + + private System.Windows.Forms.Label label1; + private System.Windows.Forms.TextBox Text_Box_Surname; + private System.Windows.Forms.Label label2; + private System.Windows.Forms.TextBox Text_Box_name; + private System.Windows.Forms.Label label3; + private System.Windows.Forms.TextBox Text_Box_Patronymic; + private System.Windows.Forms.Label label4; + private System.Windows.Forms.ComboBox comboBox1; + private System.Windows.Forms.Label label7; + private System.Windows.Forms.ComboBox comboBox2; + private System.Windows.Forms.Label label5; + private System.Windows.Forms.DateTimePicker Date_Birthday; + private System.Windows.Forms.Label label6; + private System.Windows.Forms.Button AddItem; + private System.Windows.Forms.Button RemoveItem; + private System.Windows.Forms.Button Save; + private System.Windows.Forms.Button Load; + private System.Windows.Forms.ListBox listBox1; + } +} + diff --git a/artem_labi/A2/A2/Form1.cs b/artem_labi/A2/A2/Form1.cs new file mode 100644 index 0000000..5d546c2 --- /dev/null +++ b/artem_labi/A2/A2/Form1.cs @@ -0,0 +1,116 @@ +using System; +using System.Collections.Generic; +using System.ComponentModel; +using System.Data; +using System.Drawing; +using System.IO; +using System.Linq; +using System.Text; +using System.Threading.Tasks; +using System.Windows.Forms; +using System.Xml.Serialization; + +namespace ws +{ + public partial class Form1 : Form + { + public Form1() + { + InitializeComponent(); + } + + + private void Form1_Load(object sender, EventArgs e) + { + + } + + + private void comboBox1_SelectedIndexChanged(object sender, EventArgs e) + { + + } + + private void Save_Click(object sender, EventArgs e) + { + var sfd = new SaveFileDialog() { Title = "Сохранение данных", Filter = "анкета фуболиста|*.anketa" }; + var result = sfd.ShowDialog(this); + if (result != DialogResult.OK) + return; + + var cd = new klub(); + + cd.Name = Text_Box_name.Text; + cd.Surname = Text_Box_Surname.Text; + cd.Patronymic = Text_Box_Patronymic.Text; + cd.Date = Date_Birthday.Value; + cd.Combo = comboBox1.Text; + cd.Combo2 = comboBox2.Text; + + foreach (Add cn in listBox1.Items) + { + cd.clubs.Add(cn); + } + + var xs = new XmlSerializer(typeof(klub)); + var file = File.Create(sfd.FileName); + xs.Serialize(file, cd); + file.Close(); + + } + + private void Load_Click(object sender, EventArgs e) + { + var ofd = new OpenFileDialog() { Title = "Загрузка данных", Filter = "Показания счётчиков|*.CNDT" }; + var result = ofd.ShowDialog(this); + if (result != DialogResult.OK) + return; + + var xs = new XmlSerializer(typeof(klub)); + var file = File.OpenRead(ofd.FileName); + klub cd = (klub)xs.Deserialize(file); + file.Close(); + + Text_Box_name.Text = cd.Name; + Text_Box_Surname.Text = cd.Surname; + Text_Box_Patronymic.Text = cd.Patronymic; + Date_Birthday.Value = cd.Date; + comboBox1.Text = cd.Combo; + comboBox2.Text = cd.Combo2; + + + for (int index = 0; index < cd.clubs.Count; index++) + { + Add cnt = cd.clubs[index]; + listBox1.Items.Add(cnt); + } + + } + + private void AddItem_Click(object sender, EventArgs e) + { + var form = new FORMA(); + var result = form.ShowDialog(this); + if (result == DialogResult.OK) + { + listBox1.Items.Add(form.Data); + } + + } + + private void RemoveItem_Click(object sender, EventArgs e) + { + if (listBox1.SelectedIndices.Count != 0) + { + listBox1.Items.RemoveAt(listBox1.SelectedIndices[0]); + } + } + + + private void listBox1_SelectedIndexChanged_1(object sender, EventArgs e) + { + + } + + } +} diff --git a/artem_labi/A2/A2/Form1.resx b/artem_labi/A2/A2/Form1.resx new file mode 100644 index 0000000..1af7de1 --- /dev/null +++ b/artem_labi/A2/A2/Form1.resx @@ -0,0 +1,120 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + text/microsoft-resx + + + 2.0 + + + System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + \ No newline at end of file diff --git a/artem_labi/A2/A2/Program.cs b/artem_labi/A2/A2/Program.cs new file mode 100644 index 0000000..0dd1121 --- /dev/null +++ b/artem_labi/A2/A2/Program.cs @@ -0,0 +1,22 @@ +using System; +using System.Collections.Generic; +using System.Linq; +using System.Threading.Tasks; +using System.Windows.Forms; + +namespace ws +{ + static class Program + { + /// + /// Главная точка входа для приложения. + /// + [STAThread] + static void Main() + { + Application.EnableVisualStyles(); + Application.SetCompatibleTextRenderingDefault(false); + Application.Run(new Form1()); + } + } +} diff --git a/artem_labi/A2/A2/Properties/AssemblyInfo.cs b/artem_labi/A2/A2/Properties/AssemblyInfo.cs new file mode 100644 index 0000000..a61c5e6 --- /dev/null +++ b/artem_labi/A2/A2/Properties/AssemblyInfo.cs @@ -0,0 +1,36 @@ +using System.Reflection; +using System.Runtime.CompilerServices; +using System.Runtime.InteropServices; + +// Управление общими сведениями о сборке осуществляется с помощью +// набора атрибутов. Измените значения этих атрибутов, чтобы изменить сведения, +// связанные со сборкой. +[assembly: AssemblyTitle("A2")] +[assembly: AssemblyDescription("")] +[assembly: AssemblyConfiguration("")] +[assembly: AssemblyCompany("Microsoft")] +[assembly: AssemblyProduct("A2")] +[assembly: AssemblyCopyright("Copyright © Microsoft 2015")] +[assembly: AssemblyTrademark("")] +[assembly: AssemblyCulture("")] + +// Параметр ComVisible со значением FALSE делает типы в сборке невидимыми +// для COM-компонентов. Если требуется обратиться к типу в этой сборке через +// COM, задайте атрибуту ComVisible значение TRUE для этого типа. +[assembly: ComVisible(false)] + +// Следующий GUID служит для идентификации библиотеки типов, если этот проект будет видимым для COM +[assembly: Guid("8dcae969-8b98-4b5f-b5c7-1cf8332f4f64")] + +// Сведения о версии сборки состоят из следующих четырех значений: +// +// Основной номер версии +// Дополнительный номер версии +// Номер построения +// Редакция +// +// Можно задать все значения или принять номер построения и номер редакции по умолчанию, +// используя "*", как показано ниже: +// [assembly: AssemblyVersion("1.0.*")] +[assembly: AssemblyVersion("1.0.0.0")] +[assembly: AssemblyFileVersion("1.0.0.0")] diff --git a/artem_labi/A2/A2/Properties/Resources.Designer.cs b/artem_labi/A2/A2/Properties/Resources.Designer.cs new file mode 100644 index 0000000..11928a3 --- /dev/null +++ b/artem_labi/A2/A2/Properties/Resources.Designer.cs @@ -0,0 +1,63 @@ +//------------------------------------------------------------------------------ +// +// Этот код создан программой. +// Исполняемая версия:4.0.30319.17929 +// +// Изменения в этом файле могут привести к неправильной работе и будут потеряны в случае +// повторной генерации кода. +// +//------------------------------------------------------------------------------ + +namespace ws.Properties { + using System; + + + /// + /// Класс ресурса со строгой типизацией для поиска локализованных строк и т.д. + /// + // Этот класс создан автоматически классом StronglyTypedResourceBuilder + // с помощью такого средства, как ResGen или Visual Studio. + // Чтобы добавить или удалить член, измените файл .ResX и снова запустите ResGen + // с параметром /str или перестройте свой проект VS. + [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Resources.Tools.StronglyTypedResourceBuilder", "4.0.0.0")] + [global::System.Diagnostics.DebuggerNonUserCodeAttribute()] + [global::System.Runtime.CompilerServices.CompilerGeneratedAttribute()] + internal class Resources { + + private static global::System.Resources.ResourceManager resourceMan; + + private static global::System.Globalization.CultureInfo resourceCulture; + + [global::System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1811:AvoidUncalledPrivateCode")] + internal Resources() { + } + + /// + /// Возвращает кэшированный экземпляр ResourceManager, использованный этим классом. + /// + [global::System.ComponentModel.EditorBrowsableAttribute(global::System.ComponentModel.EditorBrowsableState.Advanced)] + internal static global::System.Resources.ResourceManager ResourceManager { + get { + if (object.ReferenceEquals(resourceMan, null)) { + global::System.Resources.ResourceManager temp = new global::System.Resources.ResourceManager("ws.Properties.Resources", typeof(Resources).Assembly); + resourceMan = temp; + } + return resourceMan; + } + } + + /// + /// Перезаписывает свойство CurrentUICulture текущего потока для всех + /// обращений к ресурсу с помощью этого класса ресурса со строгой типизацией. + /// + [global::System.ComponentModel.EditorBrowsableAttribute(global::System.ComponentModel.EditorBrowsableState.Advanced)] + internal static global::System.Globalization.CultureInfo Culture { + get { + return resourceCulture; + } + set { + resourceCulture = value; + } + } + } +} diff --git a/artem_labi/A2/A2/Properties/Resources.resx b/artem_labi/A2/A2/Properties/Resources.resx new file mode 100644 index 0000000..af7dbeb --- /dev/null +++ b/artem_labi/A2/A2/Properties/Resources.resx @@ -0,0 +1,117 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + text/microsoft-resx + + + 2.0 + + + System.Resources.ResXResourceReader, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + System.Resources.ResXResourceWriter, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + \ No newline at end of file diff --git a/artem_labi/A2/A2/Properties/Settings.Designer.cs b/artem_labi/A2/A2/Properties/Settings.Designer.cs new file mode 100644 index 0000000..f7bee03 --- /dev/null +++ b/artem_labi/A2/A2/Properties/Settings.Designer.cs @@ -0,0 +1,26 @@ +//------------------------------------------------------------------------------ +// +// Этот код создан программой. +// Исполняемая версия:4.0.30319.17929 +// +// Изменения в этом файле могут привести к неправильной работе и будут потеряны в случае +// повторной генерации кода. +// +//------------------------------------------------------------------------------ + +namespace ws.Properties { + + + [global::System.Runtime.CompilerServices.CompilerGeneratedAttribute()] + [global::System.CodeDom.Compiler.GeneratedCodeAttribute("Microsoft.VisualStudio.Editors.SettingsDesigner.SettingsSingleFileGenerator", "11.0.0.0")] + internal sealed partial class Settings : global::System.Configuration.ApplicationSettingsBase { + + private static Settings defaultInstance = ((Settings)(global::System.Configuration.ApplicationSettingsBase.Synchronized(new Settings()))); + + public static Settings Default { + get { + return defaultInstance; + } + } + } +} diff --git a/artem_labi/A2/A2/Properties/Settings.settings b/artem_labi/A2/A2/Properties/Settings.settings new file mode 100644 index 0000000..3964565 --- /dev/null +++ b/artem_labi/A2/A2/Properties/Settings.settings @@ -0,0 +1,7 @@ + + + + + + + diff --git a/artem_labi/A2/A2/bin/Debug/A2.exe b/artem_labi/A2/A2/bin/Debug/A2.exe new file mode 100644 index 0000000..008c529 Binary files /dev/null and b/artem_labi/A2/A2/bin/Debug/A2.exe differ diff --git a/artem_labi/A2/A2/bin/Debug/A2.exe.config b/artem_labi/A2/A2/bin/Debug/A2.exe.config new file mode 100644 index 0000000..8e15646 --- /dev/null +++ b/artem_labi/A2/A2/bin/Debug/A2.exe.config @@ -0,0 +1,6 @@ + + + + + + \ No newline at end of file diff --git a/artem_labi/A2/A2/bin/Debug/A2.pdb b/artem_labi/A2/A2/bin/Debug/A2.pdb new file mode 100644 index 0000000..ac561de Binary files /dev/null and b/artem_labi/A2/A2/bin/Debug/A2.pdb differ diff --git a/artem_labi/A2/A2/bin/Debug/A2.vshost.exe b/artem_labi/A2/A2/bin/Debug/A2.vshost.exe new file mode 100644 index 0000000..8c84517 Binary files /dev/null and b/artem_labi/A2/A2/bin/Debug/A2.vshost.exe differ diff --git a/artem_labi/A2/A2/bin/Debug/A2.vshost.exe.config b/artem_labi/A2/A2/bin/Debug/A2.vshost.exe.config new file mode 100644 index 0000000..8e15646 --- /dev/null +++ b/artem_labi/A2/A2/bin/Debug/A2.vshost.exe.config @@ -0,0 +1,6 @@ + + + + + + \ No newline at end of file diff --git a/artem_labi/A2/A2/bin/Debug/A2.vshost.exe.manifest b/artem_labi/A2/A2/bin/Debug/A2.vshost.exe.manifest new file mode 100644 index 0000000..061c9ca --- /dev/null +++ b/artem_labi/A2/A2/bin/Debug/A2.vshost.exe.manifest @@ -0,0 +1,11 @@ + + + + + + + + + + + diff --git a/artem_labi/A2/A2/obj/Debug/A2.csproj.FileListAbsolute.txt b/artem_labi/A2/A2/obj/Debug/A2.csproj.FileListAbsolute.txt new file mode 100644 index 0000000..d4353bb --- /dev/null +++ b/artem_labi/A2/A2/obj/Debug/A2.csproj.FileListAbsolute.txt @@ -0,0 +1,10 @@ +c:\users\user\documents\visual studio 2012\Projects\A2\A2\bin\Debug\A2.exe.config +c:\users\user\documents\visual studio 2012\Projects\A2\A2\bin\Debug\A2.exe +c:\users\user\documents\visual studio 2012\Projects\A2\A2\bin\Debug\A2.pdb +c:\users\user\documents\visual studio 2012\Projects\A2\A2\obj\Debug\A2.csprojResolveAssemblyReference.cache +c:\users\user\documents\visual studio 2012\Projects\A2\A2\obj\Debug\ws.FORMA.resources +c:\users\user\documents\visual studio 2012\Projects\A2\A2\obj\Debug\ws.Form1.resources +c:\users\user\documents\visual studio 2012\Projects\A2\A2\obj\Debug\A2.csproj.GenerateResource.Cache +c:\users\user\documents\visual studio 2012\Projects\A2\A2\obj\Debug\A2.exe +c:\users\user\documents\visual studio 2012\Projects\A2\A2\obj\Debug\A2.pdb +c:\users\user\documents\visual studio 2012\Projects\A2\A2\obj\Debug\ws.Properties.Resources.resources diff --git a/artem_labi/A2/A2/obj/Debug/A2.csproj.GenerateResource.Cache b/artem_labi/A2/A2/obj/Debug/A2.csproj.GenerateResource.Cache new file mode 100644 index 0000000..b68d489 Binary files /dev/null and b/artem_labi/A2/A2/obj/Debug/A2.csproj.GenerateResource.Cache differ diff --git a/artem_labi/A2/A2/obj/Debug/A2.csprojResolveAssemblyReference.cache b/artem_labi/A2/A2/obj/Debug/A2.csprojResolveAssemblyReference.cache new file mode 100644 index 0000000..4d02622 Binary files /dev/null and b/artem_labi/A2/A2/obj/Debug/A2.csprojResolveAssemblyReference.cache differ diff --git a/artem_labi/A2/A2/obj/Debug/A2.exe b/artem_labi/A2/A2/obj/Debug/A2.exe new file mode 100644 index 0000000..008c529 Binary files /dev/null and b/artem_labi/A2/A2/obj/Debug/A2.exe differ diff --git a/artem_labi/A2/A2/obj/Debug/A2.pdb b/artem_labi/A2/A2/obj/Debug/A2.pdb new file mode 100644 index 0000000..ac561de Binary files /dev/null and b/artem_labi/A2/A2/obj/Debug/A2.pdb differ diff --git a/artem_labi/A2/A2/obj/Debug/DesignTimeResolveAssemblyReferences.cache b/artem_labi/A2/A2/obj/Debug/DesignTimeResolveAssemblyReferences.cache new file mode 100644 index 0000000..eaec384 Binary files /dev/null and b/artem_labi/A2/A2/obj/Debug/DesignTimeResolveAssemblyReferences.cache differ diff --git a/artem_labi/A2/A2/obj/Debug/DesignTimeResolveAssemblyReferencesInput.cache b/artem_labi/A2/A2/obj/Debug/DesignTimeResolveAssemblyReferencesInput.cache new file mode 100644 index 0000000..f24cb2e Binary files /dev/null and b/artem_labi/A2/A2/obj/Debug/DesignTimeResolveAssemblyReferencesInput.cache differ diff --git a/artem_labi/A2/A2/obj/Debug/TempPE/Properties.Resources.Designer.cs.dll b/artem_labi/A2/A2/obj/Debug/TempPE/Properties.Resources.Designer.cs.dll new file mode 100644 index 0000000..a5d1745 Binary files /dev/null and b/artem_labi/A2/A2/obj/Debug/TempPE/Properties.Resources.Designer.cs.dll differ diff --git a/artem_labi/A2/A2/obj/Debug/TemporaryGeneratedFile_036C0B5B-1481-4323-8D20-8F5ADCB23D92.cs b/artem_labi/A2/A2/obj/Debug/TemporaryGeneratedFile_036C0B5B-1481-4323-8D20-8F5ADCB23D92.cs new file mode 100644 index 0000000..e69de29 diff --git a/artem_labi/A2/A2/obj/Debug/TemporaryGeneratedFile_5937a670-0e60-4077-877b-f7221da3dda1.cs b/artem_labi/A2/A2/obj/Debug/TemporaryGeneratedFile_5937a670-0e60-4077-877b-f7221da3dda1.cs new file mode 100644 index 0000000..e69de29 diff --git a/artem_labi/A2/A2/obj/Debug/TemporaryGeneratedFile_E7A71F73-0F8D-4B9B-B56E-8E70B10BC5D3.cs b/artem_labi/A2/A2/obj/Debug/TemporaryGeneratedFile_E7A71F73-0F8D-4B9B-B56E-8E70B10BC5D3.cs new file mode 100644 index 0000000..e69de29 diff --git a/artem_labi/A2/A2/obj/Debug/ws.FORMA.resources b/artem_labi/A2/A2/obj/Debug/ws.FORMA.resources new file mode 100644 index 0000000..6c05a97 Binary files /dev/null and b/artem_labi/A2/A2/obj/Debug/ws.FORMA.resources differ diff --git a/artem_labi/A2/A2/obj/Debug/ws.Form1.resources b/artem_labi/A2/A2/obj/Debug/ws.Form1.resources new file mode 100644 index 0000000..6c05a97 Binary files /dev/null and b/artem_labi/A2/A2/obj/Debug/ws.Form1.resources differ diff --git a/artem_labi/A2/A2/obj/Debug/ws.Properties.Resources.resources b/artem_labi/A2/A2/obj/Debug/ws.Properties.Resources.resources new file mode 100644 index 0000000..6c05a97 Binary files /dev/null and b/artem_labi/A2/A2/obj/Debug/ws.Properties.Resources.resources differ diff --git a/artem_labi/A2/A2/q.cs b/artem_labi/A2/A2/q.cs new file mode 100644 index 0000000..fbccfee --- /dev/null +++ b/artem_labi/A2/A2/q.cs @@ -0,0 +1,41 @@ +using System; +using System.Collections.Generic; +using System.Diagnostics; +using System.Linq; +using System.Text; +using System.Threading.Tasks; + +namespace ws +{ + public class klub + { + public klub() + { + clubs = new List(); + } + + public string Name { get; set; } + public string Surname { get; set; } + public string Patronymic { get; set; } + public string Combo { get; set; } + public string Combo2 { get; set; } + + public DateTime Date { get; set; } + public List clubs { get; set; } + } + + public class Add + { + public string Combo3 { get; set; } + public string Team { get; set; } + public DateTime Start { get; set; } + public DateTime End { get; set; } + + public override string ToString() + { + return string.Format("Играл в лиге: {0}, В команде: {1}, С: {2}, По: {3}", Combo3, Team, Start, End); + } + } +} + + diff --git "a/artem_labi/C1(\321\203\320\263\320\260\320\264\321\207\320\270\321\201\320\273\320\276)/C1(\321\203\320\263\320\260\320\264\321\207\320\270\321\201\320\273\320\276).sln" "b/artem_labi/C1(\321\203\320\263\320\260\320\264\321\207\320\270\321\201\320\273\320\276)/C1(\321\203\320\263\320\260\320\264\321\207\320\270\321\201\320\273\320\276).sln" new file mode 100644 index 0000000..c9200af --- /dev/null +++ "b/artem_labi/C1(\321\203\320\263\320\260\320\264\321\207\320\270\321\201\320\273\320\276)/C1(\321\203\320\263\320\260\320\264\321\207\320\270\321\201\320\273\320\276).sln" @@ -0,0 +1,20 @@ + +Microsoft Visual Studio Solution File, Format Version 12.00 +# Visual Studio 2012 +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "C1(угадчисло)", "C1(угадчисло)\C1(угадчисло).csproj", "{C6BE3633-CF4B-4CC8-B790-809D127508E7}" +EndProject +Global + GlobalSection(SolutionConfigurationPlatforms) = preSolution + Debug|Any CPU = Debug|Any CPU + Release|Any CPU = Release|Any CPU + EndGlobalSection + GlobalSection(ProjectConfigurationPlatforms) = postSolution + {C6BE3633-CF4B-4CC8-B790-809D127508E7}.Debug|Any CPU.ActiveCfg = Debug|Any CPU + {C6BE3633-CF4B-4CC8-B790-809D127508E7}.Debug|Any CPU.Build.0 = Debug|Any CPU + {C6BE3633-CF4B-4CC8-B790-809D127508E7}.Release|Any CPU.ActiveCfg = Release|Any CPU + {C6BE3633-CF4B-4CC8-B790-809D127508E7}.Release|Any CPU.Build.0 = Release|Any CPU + EndGlobalSection + GlobalSection(SolutionProperties) = preSolution + HideSolutionNode = FALSE + EndGlobalSection +EndGlobal diff --git "a/artem_labi/C1(\321\203\320\263\320\260\320\264\321\207\320\270\321\201\320\273\320\276)/C1(\321\203\320\263\320\260\320\264\321\207\320\270\321\201\320\273\320\276).v11.suo" "b/artem_labi/C1(\321\203\320\263\320\260\320\264\321\207\320\270\321\201\320\273\320\276)/C1(\321\203\320\263\320\260\320\264\321\207\320\270\321\201\320\273\320\276).v11.suo" new file mode 100644 index 0000000..6e415bc Binary files /dev/null and "b/artem_labi/C1(\321\203\320\263\320\260\320\264\321\207\320\270\321\201\320\273\320\276)/C1(\321\203\320\263\320\260\320\264\321\207\320\270\321\201\320\273\320\276).v11.suo" differ diff --git "a/artem_labi/C1(\321\203\320\263\320\260\320\264\321\207\320\270\321\201\320\273\320\276)/C1(\321\203\320\263\320\260\320\264\321\207\320\270\321\201\320\273\320\276)/App.config" "b/artem_labi/C1(\321\203\320\263\320\260\320\264\321\207\320\270\321\201\320\273\320\276)/C1(\321\203\320\263\320\260\320\264\321\207\320\270\321\201\320\273\320\276)/App.config" new file mode 100644 index 0000000..8e15646 --- /dev/null +++ "b/artem_labi/C1(\321\203\320\263\320\260\320\264\321\207\320\270\321\201\320\273\320\276)/C1(\321\203\320\263\320\260\320\264\321\207\320\270\321\201\320\273\320\276)/App.config" @@ -0,0 +1,6 @@ + + + + + + \ No newline at end of file diff --git "a/artem_labi/C1(\321\203\320\263\320\260\320\264\321\207\320\270\321\201\320\273\320\276)/C1(\321\203\320\263\320\260\320\264\321\207\320\270\321\201\320\273\320\276)/C1(\321\203\320\263\320\260\320\264\321\207\320\270\321\201\320\273\320\276).csproj" "b/artem_labi/C1(\321\203\320\263\320\260\320\264\321\207\320\270\321\201\320\273\320\276)/C1(\321\203\320\263\320\260\320\264\321\207\320\270\321\201\320\273\320\276)/C1(\321\203\320\263\320\260\320\264\321\207\320\270\321\201\320\273\320\276).csproj" new file mode 100644 index 0000000..c1a5926 --- /dev/null +++ "b/artem_labi/C1(\321\203\320\263\320\260\320\264\321\207\320\270\321\201\320\273\320\276)/C1(\321\203\320\263\320\260\320\264\321\207\320\270\321\201\320\273\320\276)/C1(\321\203\320\263\320\260\320\264\321\207\320\270\321\201\320\273\320\276).csproj" @@ -0,0 +1,58 @@ + + + + + Debug + AnyCPU + {C6BE3633-CF4B-4CC8-B790-809D127508E7} + Exe + Properties + C1_угадчисло_ + C1%28угадчисло%29 + v4.5 + 512 + + + AnyCPU + true + full + false + bin\Debug\ + DEBUG;TRACE + prompt + 4 + + + AnyCPU + pdbonly + true + bin\Release\ + TRACE + prompt + 4 + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git "a/artem_labi/C1(\321\203\320\263\320\260\320\264\321\207\320\270\321\201\320\273\320\276)/C1(\321\203\320\263\320\260\320\264\321\207\320\270\321\201\320\273\320\276)/Program.cs" "b/artem_labi/C1(\321\203\320\263\320\260\320\264\321\207\320\270\321\201\320\273\320\276)/C1(\321\203\320\263\320\260\320\264\321\207\320\270\321\201\320\273\320\276)/Program.cs" new file mode 100644 index 0000000..30ad418 --- /dev/null +++ "b/artem_labi/C1(\321\203\320\263\320\260\320\264\321\207\320\270\321\201\320\273\320\276)/C1(\321\203\320\263\320\260\320\264\321\207\320\270\321\201\320\273\320\276)/Program.cs" @@ -0,0 +1,36 @@ +using System; +using System.Collections.Generic; +using System.Linq; +using System.Text; +using System.Threading.Tasks; + +namespace C1_угадчисло_ +{ + class Program + { + static int maxchislo = 101; + static int minchislo = 0; + static int srednee = ((maxchislo + minchislo)/2); + static bool otgadano = false; + + static void Main(string[] args) + { + Console.WriteLine("Загадайте число от 0 до 100 (Чтобы подтвердить пишите yes)"); + while (!otgadano) + { + Console.WriteLine("Ваше число меньше " + srednee + "?"); + if (Console.ReadLine().ToLower() == "yes") + maxchislo = srednee; + else + minchislo = srednee; + srednee = ((maxchislo + minchislo) / 2); + if (srednee == minchislo) + break; + } + + Console.WriteLine("Вы загадывли число " + minchislo + "!"); + Console.ReadKey(); + } + } + } + diff --git "a/artem_labi/C1(\321\203\320\263\320\260\320\264\321\207\320\270\321\201\320\273\320\276)/C1(\321\203\320\263\320\260\320\264\321\207\320\270\321\201\320\273\320\276)/Properties/AssemblyInfo.cs" "b/artem_labi/C1(\321\203\320\263\320\260\320\264\321\207\320\270\321\201\320\273\320\276)/C1(\321\203\320\263\320\260\320\264\321\207\320\270\321\201\320\273\320\276)/Properties/AssemblyInfo.cs" new file mode 100644 index 0000000..194345e --- /dev/null +++ "b/artem_labi/C1(\321\203\320\263\320\260\320\264\321\207\320\270\321\201\320\273\320\276)/C1(\321\203\320\263\320\260\320\264\321\207\320\270\321\201\320\273\320\276)/Properties/AssemblyInfo.cs" @@ -0,0 +1,36 @@ +using System.Reflection; +using System.Runtime.CompilerServices; +using System.Runtime.InteropServices; + +// Управление общими сведениями о сборке осуществляется с помощью +// набора атрибутов. Измените значения этих атрибутов, чтобы изменить сведения, +// связанные со сборкой. +[assembly: AssemblyTitle("C1(угадчисло)")] +[assembly: AssemblyDescription("")] +[assembly: AssemblyConfiguration("")] +[assembly: AssemblyCompany("Microsoft")] +[assembly: AssemblyProduct("C1(угадчисло)")] +[assembly: AssemblyCopyright("Copyright © Microsoft 2015")] +[assembly: AssemblyTrademark("")] +[assembly: AssemblyCulture("")] + +// Параметр ComVisible со значением FALSE делает типы в сборке невидимыми +// для COM-компонентов. Если требуется обратиться к типу в этой сборке через +// COM, задайте атрибуту ComVisible значение TRUE для этого типа. +[assembly: ComVisible(false)] + +// Следующий GUID служит для идентификации библиотеки типов, если этот проект будет видимым для COM +[assembly: Guid("92a28fd9-0c72-462a-aab7-f435c0eea8eb")] + +// Сведения о версии сборки состоят из следующих четырех значений: +// +// Основной номер версии +// Дополнительный номер версии +// Номер построения +// Редакция +// +// Можно задать все значения или принять номер построения и номер редакции по умолчанию, +// используя "*", как показано ниже: +// [assembly: AssemblyVersion("1.0.*")] +[assembly: AssemblyVersion("1.0.0.0")] +[assembly: AssemblyFileVersion("1.0.0.0")] diff --git "a/artem_labi/C1(\321\203\320\263\320\260\320\264\321\207\320\270\321\201\320\273\320\276)/C1(\321\203\320\263\320\260\320\264\321\207\320\270\321\201\320\273\320\276)/bin/Debug/C1(\321\203\320\263\320\260\320\264\321\207\320\270\321\201\320\273\320\276).exe" "b/artem_labi/C1(\321\203\320\263\320\260\320\264\321\207\320\270\321\201\320\273\320\276)/C1(\321\203\320\263\320\260\320\264\321\207\320\270\321\201\320\273\320\276)/bin/Debug/C1(\321\203\320\263\320\260\320\264\321\207\320\270\321\201\320\273\320\276).exe" new file mode 100644 index 0000000..5f113e0 Binary files /dev/null and "b/artem_labi/C1(\321\203\320\263\320\260\320\264\321\207\320\270\321\201\320\273\320\276)/C1(\321\203\320\263\320\260\320\264\321\207\320\270\321\201\320\273\320\276)/bin/Debug/C1(\321\203\320\263\320\260\320\264\321\207\320\270\321\201\320\273\320\276).exe" differ diff --git "a/artem_labi/C1(\321\203\320\263\320\260\320\264\321\207\320\270\321\201\320\273\320\276)/C1(\321\203\320\263\320\260\320\264\321\207\320\270\321\201\320\273\320\276)/bin/Debug/C1(\321\203\320\263\320\260\320\264\321\207\320\270\321\201\320\273\320\276).exe.config" "b/artem_labi/C1(\321\203\320\263\320\260\320\264\321\207\320\270\321\201\320\273\320\276)/C1(\321\203\320\263\320\260\320\264\321\207\320\270\321\201\320\273\320\276)/bin/Debug/C1(\321\203\320\263\320\260\320\264\321\207\320\270\321\201\320\273\320\276).exe.config" new file mode 100644 index 0000000..8e15646 --- /dev/null +++ "b/artem_labi/C1(\321\203\320\263\320\260\320\264\321\207\320\270\321\201\320\273\320\276)/C1(\321\203\320\263\320\260\320\264\321\207\320\270\321\201\320\273\320\276)/bin/Debug/C1(\321\203\320\263\320\260\320\264\321\207\320\270\321\201\320\273\320\276).exe.config" @@ -0,0 +1,6 @@ + + + + + + \ No newline at end of file diff --git "a/artem_labi/C1(\321\203\320\263\320\260\320\264\321\207\320\270\321\201\320\273\320\276)/C1(\321\203\320\263\320\260\320\264\321\207\320\270\321\201\320\273\320\276)/bin/Debug/C1(\321\203\320\263\320\260\320\264\321\207\320\270\321\201\320\273\320\276).pdb" "b/artem_labi/C1(\321\203\320\263\320\260\320\264\321\207\320\270\321\201\320\273\320\276)/C1(\321\203\320\263\320\260\320\264\321\207\320\270\321\201\320\273\320\276)/bin/Debug/C1(\321\203\320\263\320\260\320\264\321\207\320\270\321\201\320\273\320\276).pdb" new file mode 100644 index 0000000..4b4598e Binary files /dev/null and "b/artem_labi/C1(\321\203\320\263\320\260\320\264\321\207\320\270\321\201\320\273\320\276)/C1(\321\203\320\263\320\260\320\264\321\207\320\270\321\201\320\273\320\276)/bin/Debug/C1(\321\203\320\263\320\260\320\264\321\207\320\270\321\201\320\273\320\276).pdb" differ diff --git "a/artem_labi/C1(\321\203\320\263\320\260\320\264\321\207\320\270\321\201\320\273\320\276)/C1(\321\203\320\263\320\260\320\264\321\207\320\270\321\201\320\273\320\276)/bin/Debug/C1(\321\203\320\263\320\260\320\264\321\207\320\270\321\201\320\273\320\276).vshost.exe" "b/artem_labi/C1(\321\203\320\263\320\260\320\264\321\207\320\270\321\201\320\273\320\276)/C1(\321\203\320\263\320\260\320\264\321\207\320\270\321\201\320\273\320\276)/bin/Debug/C1(\321\203\320\263\320\260\320\264\321\207\320\270\321\201\320\273\320\276).vshost.exe" new file mode 100644 index 0000000..8c84517 Binary files /dev/null and "b/artem_labi/C1(\321\203\320\263\320\260\320\264\321\207\320\270\321\201\320\273\320\276)/C1(\321\203\320\263\320\260\320\264\321\207\320\270\321\201\320\273\320\276)/bin/Debug/C1(\321\203\320\263\320\260\320\264\321\207\320\270\321\201\320\273\320\276).vshost.exe" differ diff --git "a/artem_labi/C1(\321\203\320\263\320\260\320\264\321\207\320\270\321\201\320\273\320\276)/C1(\321\203\320\263\320\260\320\264\321\207\320\270\321\201\320\273\320\276)/bin/Debug/C1(\321\203\320\263\320\260\320\264\321\207\320\270\321\201\320\273\320\276).vshost.exe.config" "b/artem_labi/C1(\321\203\320\263\320\260\320\264\321\207\320\270\321\201\320\273\320\276)/C1(\321\203\320\263\320\260\320\264\321\207\320\270\321\201\320\273\320\276)/bin/Debug/C1(\321\203\320\263\320\260\320\264\321\207\320\270\321\201\320\273\320\276).vshost.exe.config" new file mode 100644 index 0000000..8e15646 --- /dev/null +++ "b/artem_labi/C1(\321\203\320\263\320\260\320\264\321\207\320\270\321\201\320\273\320\276)/C1(\321\203\320\263\320\260\320\264\321\207\320\270\321\201\320\273\320\276)/bin/Debug/C1(\321\203\320\263\320\260\320\264\321\207\320\270\321\201\320\273\320\276).vshost.exe.config" @@ -0,0 +1,6 @@ + + + + + + \ No newline at end of file diff --git "a/artem_labi/C1(\321\203\320\263\320\260\320\264\321\207\320\270\321\201\320\273\320\276)/C1(\321\203\320\263\320\260\320\264\321\207\320\270\321\201\320\273\320\276)/bin/Debug/C1(\321\203\320\263\320\260\320\264\321\207\320\270\321\201\320\273\320\276).vshost.exe.manifest" "b/artem_labi/C1(\321\203\320\263\320\260\320\264\321\207\320\270\321\201\320\273\320\276)/C1(\321\203\320\263\320\260\320\264\321\207\320\270\321\201\320\273\320\276)/bin/Debug/C1(\321\203\320\263\320\260\320\264\321\207\320\270\321\201\320\273\320\276).vshost.exe.manifest" new file mode 100644 index 0000000..061c9ca --- /dev/null +++ "b/artem_labi/C1(\321\203\320\263\320\260\320\264\321\207\320\270\321\201\320\273\320\276)/C1(\321\203\320\263\320\260\320\264\321\207\320\270\321\201\320\273\320\276)/bin/Debug/C1(\321\203\320\263\320\260\320\264\321\207\320\270\321\201\320\273\320\276).vshost.exe.manifest" @@ -0,0 +1,11 @@ + + + + + + + + + + + diff --git "a/artem_labi/C1(\321\203\320\263\320\260\320\264\321\207\320\270\321\201\320\273\320\276)/C1(\321\203\320\263\320\260\320\264\321\207\320\270\321\201\320\273\320\276)/obj/Debug/C1(\321\203\320\263\320\260\320\264\321\207\320\270\321\201\320\273\320\276).csproj.FileListAbsolute.txt" "b/artem_labi/C1(\321\203\320\263\320\260\320\264\321\207\320\270\321\201\320\273\320\276)/C1(\321\203\320\263\320\260\320\264\321\207\320\270\321\201\320\273\320\276)/obj/Debug/C1(\321\203\320\263\320\260\320\264\321\207\320\270\321\201\320\273\320\276).csproj.FileListAbsolute.txt" new file mode 100644 index 0000000..3b573e5 --- /dev/null +++ "b/artem_labi/C1(\321\203\320\263\320\260\320\264\321\207\320\270\321\201\320\273\320\276)/C1(\321\203\320\263\320\260\320\264\321\207\320\270\321\201\320\273\320\276)/obj/Debug/C1(\321\203\320\263\320\260\320\264\321\207\320\270\321\201\320\273\320\276).csproj.FileListAbsolute.txt" @@ -0,0 +1,10 @@ +c:\users\user\documents\visual studio 2012\Projects\C1(угадчисло)\C1(угадчисло)\bin\Debug\C1(угадчисло).exe.config +c:\users\user\documents\visual studio 2012\Projects\C1(угадчисло)\C1(угадчисло)\bin\Debug\C1(угадчисло).exe +c:\users\user\documents\visual studio 2012\Projects\C1(угадчисло)\C1(угадчисло)\bin\Debug\C1(угадчисло).pdb +c:\users\user\documents\visual studio 2012\Projects\C1(угадчисло)\C1(угадчисло)\obj\Debug\C1(угадчисло).exe +c:\users\user\documents\visual studio 2012\Projects\C1(угадчисло)\C1(угадчисло)\obj\Debug\C1(угадчисло).pdb +C:\Users\User\Desktop\C1(угадчисло)\C1(угадчисло)\bin\Debug\C1(угадчисло).exe.config +C:\Users\User\Desktop\C1(угадчисло)\C1(угадчисло)\obj\Debug\C1(угадчисло).exe +C:\Users\User\Desktop\C1(угадчисло)\C1(угадчисло)\obj\Debug\C1(угадчисло).pdb +C:\Users\User\Desktop\C1(угадчисло)\C1(угадчисло)\bin\Debug\C1(угадчисло).exe +C:\Users\User\Desktop\C1(угадчисло)\C1(угадчисло)\bin\Debug\C1(угадчисло).pdb diff --git "a/artem_labi/C1(\321\203\320\263\320\260\320\264\321\207\320\270\321\201\320\273\320\276)/C1(\321\203\320\263\320\260\320\264\321\207\320\270\321\201\320\273\320\276)/obj/Debug/C1(\321\203\320\263\320\260\320\264\321\207\320\270\321\201\320\273\320\276).exe" "b/artem_labi/C1(\321\203\320\263\320\260\320\264\321\207\320\270\321\201\320\273\320\276)/C1(\321\203\320\263\320\260\320\264\321\207\320\270\321\201\320\273\320\276)/obj/Debug/C1(\321\203\320\263\320\260\320\264\321\207\320\270\321\201\320\273\320\276).exe" new file mode 100644 index 0000000..5f113e0 Binary files /dev/null and "b/artem_labi/C1(\321\203\320\263\320\260\320\264\321\207\320\270\321\201\320\273\320\276)/C1(\321\203\320\263\320\260\320\264\321\207\320\270\321\201\320\273\320\276)/obj/Debug/C1(\321\203\320\263\320\260\320\264\321\207\320\270\321\201\320\273\320\276).exe" differ diff --git "a/artem_labi/C1(\321\203\320\263\320\260\320\264\321\207\320\270\321\201\320\273\320\276)/C1(\321\203\320\263\320\260\320\264\321\207\320\270\321\201\320\273\320\276)/obj/Debug/C1(\321\203\320\263\320\260\320\264\321\207\320\270\321\201\320\273\320\276).pdb" "b/artem_labi/C1(\321\203\320\263\320\260\320\264\321\207\320\270\321\201\320\273\320\276)/C1(\321\203\320\263\320\260\320\264\321\207\320\270\321\201\320\273\320\276)/obj/Debug/C1(\321\203\320\263\320\260\320\264\321\207\320\270\321\201\320\273\320\276).pdb" new file mode 100644 index 0000000..4b4598e Binary files /dev/null and "b/artem_labi/C1(\321\203\320\263\320\260\320\264\321\207\320\270\321\201\320\273\320\276)/C1(\321\203\320\263\320\260\320\264\321\207\320\270\321\201\320\273\320\276)/obj/Debug/C1(\321\203\320\263\320\260\320\264\321\207\320\270\321\201\320\273\320\276).pdb" differ diff --git "a/artem_labi/C1(\321\203\320\263\320\260\320\264\321\207\320\270\321\201\320\273\320\276)/C1(\321\203\320\263\320\260\320\264\321\207\320\270\321\201\320\273\320\276)/obj/Debug/DesignTimeResolveAssemblyReferencesInput.cache" "b/artem_labi/C1(\321\203\320\263\320\260\320\264\321\207\320\270\321\201\320\273\320\276)/C1(\321\203\320\263\320\260\320\264\321\207\320\270\321\201\320\273\320\276)/obj/Debug/DesignTimeResolveAssemblyReferencesInput.cache" new file mode 100644 index 0000000..f4b5473 Binary files /dev/null and "b/artem_labi/C1(\321\203\320\263\320\260\320\264\321\207\320\270\321\201\320\273\320\276)/C1(\321\203\320\263\320\260\320\264\321\207\320\270\321\201\320\273\320\276)/obj/Debug/DesignTimeResolveAssemblyReferencesInput.cache" differ diff --git "a/artem_labi/C1(\321\203\320\263\320\260\320\264\321\207\320\270\321\201\320\273\320\276)/C1(\321\203\320\263\320\260\320\264\321\207\320\270\321\201\320\273\320\276)/obj/Debug/TemporaryGeneratedFile_036C0B5B-1481-4323-8D20-8F5ADCB23D92.cs" "b/artem_labi/C1(\321\203\320\263\320\260\320\264\321\207\320\270\321\201\320\273\320\276)/C1(\321\203\320\263\320\260\320\264\321\207\320\270\321\201\320\273\320\276)/obj/Debug/TemporaryGeneratedFile_036C0B5B-1481-4323-8D20-8F5ADCB23D92.cs" new file mode 100644 index 0000000..e69de29 diff --git "a/artem_labi/C1(\321\203\320\263\320\260\320\264\321\207\320\270\321\201\320\273\320\276)/C1(\321\203\320\263\320\260\320\264\321\207\320\270\321\201\320\273\320\276)/obj/Debug/TemporaryGeneratedFile_5937a670-0e60-4077-877b-f7221da3dda1.cs" "b/artem_labi/C1(\321\203\320\263\320\260\320\264\321\207\320\270\321\201\320\273\320\276)/C1(\321\203\320\263\320\260\320\264\321\207\320\270\321\201\320\273\320\276)/obj/Debug/TemporaryGeneratedFile_5937a670-0e60-4077-877b-f7221da3dda1.cs" new file mode 100644 index 0000000..e69de29 diff --git "a/artem_labi/C1(\321\203\320\263\320\260\320\264\321\207\320\270\321\201\320\273\320\276)/C1(\321\203\320\263\320\260\320\264\321\207\320\270\321\201\320\273\320\276)/obj/Debug/TemporaryGeneratedFile_E7A71F73-0F8D-4B9B-B56E-8E70B10BC5D3.cs" "b/artem_labi/C1(\321\203\320\263\320\260\320\264\321\207\320\270\321\201\320\273\320\276)/C1(\321\203\320\263\320\260\320\264\321\207\320\270\321\201\320\273\320\276)/obj/Debug/TemporaryGeneratedFile_E7A71F73-0F8D-4B9B-B56E-8E70B10BC5D3.cs" new file mode 100644 index 0000000..e69de29 diff --git a/artem_labi/D1/D1.sln b/artem_labi/D1/D1.sln new file mode 100644 index 0000000..f0312be --- /dev/null +++ b/artem_labi/D1/D1.sln @@ -0,0 +1,22 @@ + +Microsoft Visual Studio Solution File, Format Version 12.00 +# Visual Studio 2013 +VisualStudioVersion = 12.0.21005.1 +MinimumVisualStudioVersion = 10.0.40219.1 +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "D1", "D1\D1.csproj", "{5E3545B6-1D3D-44A8-916C-88D7AED368F4}" +EndProject +Global + GlobalSection(SolutionConfigurationPlatforms) = preSolution + Debug|Any CPU = Debug|Any CPU + Release|Any CPU = Release|Any CPU + EndGlobalSection + GlobalSection(ProjectConfigurationPlatforms) = postSolution + {5E3545B6-1D3D-44A8-916C-88D7AED368F4}.Debug|Any CPU.ActiveCfg = Debug|Any CPU + {5E3545B6-1D3D-44A8-916C-88D7AED368F4}.Debug|Any CPU.Build.0 = Debug|Any CPU + {5E3545B6-1D3D-44A8-916C-88D7AED368F4}.Release|Any CPU.ActiveCfg = Release|Any CPU + {5E3545B6-1D3D-44A8-916C-88D7AED368F4}.Release|Any CPU.Build.0 = Release|Any CPU + EndGlobalSection + GlobalSection(SolutionProperties) = preSolution + HideSolutionNode = FALSE + EndGlobalSection +EndGlobal diff --git a/artem_labi/D1/D1.v12.suo b/artem_labi/D1/D1.v12.suo new file mode 100644 index 0000000..c0eb983 Binary files /dev/null and b/artem_labi/D1/D1.v12.suo differ diff --git a/artem_labi/D1/D1/App.config b/artem_labi/D1/D1/App.config new file mode 100644 index 0000000..8e15646 --- /dev/null +++ b/artem_labi/D1/D1/App.config @@ -0,0 +1,6 @@ + + + + + + \ No newline at end of file diff --git a/artem_labi/D1/D1/BitmapImager.cs b/artem_labi/D1/D1/BitmapImager.cs new file mode 100644 index 0000000..189ee2d --- /dev/null +++ b/artem_labi/D1/D1/BitmapImager.cs @@ -0,0 +1,1018 @@ +using System; +using System.Collections.Generic; +using System.Linq; +using System.Text; +using System.Threading.Tasks; +using System.Drawing; +using System.Drawing.Imaging; +using System.Drawing.Drawing2D; +using System.IO; + +namespace D1 +{ + /// + /// This class provides methods to Resize and Apply Filters to bitmap images. + /// + /// ideas from + /// http://msdn.microsoft.com/library/default.asp?url=/library/en-us/dncscol/html/csharp11152001.asp + /// http://www.msnewsgroups.net/group/microsoft.public.dotnet.languages.csharp/topic9351.aspx + /// + public unsafe class ImagerBitmap : IDisposable + { + /// + /// This struct is used to hold the RGB values when we find a pixel using the pointer + /// + private struct PixelData + { + public byte Blue; + public byte Green; + public byte Red; + } + /// + /// This object contains pointer addressable information about the bitmap + /// + private BitmapData _bitmapData = null; + /// + /// The pointer to the upper left corner of the bitmap + /// + private byte* pBase = null; + private Bitmap _bitmap = null; + /// + /// Get the Image we are working with + /// + public Bitmap Bitmap + { + get + { + return _bitmap; + } + } + /// + /// Constructor + /// + /// Bitmap to use as the basis of the Imager + public ImagerBitmap(Bitmap b) + { + if (b.PixelFormat != PixelFormat.Format24bppRgb) + { + //Convert the image into Format24bppRgb since our unmanaged code + //can walk that image type + Bitmap b2 = new Bitmap(b.Size.Width, b.Size.Height, PixelFormat.Format24bppRgb); + Graphics g = Graphics.FromImage(b2); + g.DrawImage(b, new Point(0, 0)); + _bitmap = b2; + g.Dispose(); + } + else + { + _bitmap = b; + } + Width = b.Width; + Height = b.Height; + LockBitmap(); + } + /// + /// Load a pixel with color + /// + /// Column + /// Row + /// Color + public void SetPixel(int x, int y, Color c) + { + if (x < 0 || y < 0 || x >= Width || y >= Height) + return; + PixelData* p = PixelAt(x, y); + p->Red = c.R; + p->Green = c.G; + p->Blue = c.B; + } + + public int Height { get; set; } + + public int Width { get; set; } + + public void SetPixel(float x, float y, Color c) + { + SetPixel((int)x, (int)y, c); + } + /// + /// Get a pixel + /// + /// Column + /// Row + /// Color + public Color GetPixel(int x, int y) + { + PixelData* p = PixelAt(x, y); + return Color.FromArgb((int)p->Red, (int)p->Green, (int)p->Blue); + } + /// + /// Get the Grey value for a give pixel + /// + /// Column + /// Row + /// Grey value for the pixel + private int GetGreyPixel(int column, int row) + { + return (int)((GetPixel(column, row).R * 0.3) + (GetPixel(column, row).G * 0.59) + + (GetPixel(column, row).B * 0.11)); + } + /// + /// Use the 2 most signifigant bits from each of the values in the RGB to get an in value + /// for the histogram + /// + /// Column + /// Row + /// Histogram Value + public int GetRGBHistogramValue(int column, int row) + { + Color c = GetPixel(column, row); + int val = 0; + int tmp = 0; + tmp = c.R; + if (tmp - 128 > 0) + { + tmp -= 128; + val += 32; + } + if (tmp - 64 > 0) + { + val += 16; + } + tmp = c.G; + if (tmp - 128 > 0) + { + tmp -= 128; + val += 8; + } + if (tmp - 64 > 0) + { + val += 4; + } + tmp = c.B; + if (tmp - 128 > 0) + { + tmp -= 128; + val += 2; + } + if (tmp - 64 > 0) + { + val += 1; + } + return val; + } + /// + /// Lock the bitmap so we can use the pointers to access it + /// + private void LockBitmap() + { + _bitmapData = _bitmap.LockBits(new Rectangle(0, 0, _bitmap.Width, _bitmap.Height), + ImageLockMode.ReadWrite, _bitmap.PixelFormat); + pBase = (Byte*)_bitmapData.Scan0.ToPointer(); + } + /// + /// Get a pointer to a pixel + /// + /// Column + /// Row + /// + private unsafe PixelData* PixelAt(int x, int y) + { + return (PixelData*)(pBase + y * _bitmapData.Stride + x * sizeof(PixelData)); + } + /// + /// Unlock the bitmap to end the pointer access session + /// + private void UnlockBitmap() + { + _bitmap.UnlockBits(_bitmapData); + _bitmapData = null; + pBase = null; + } + /// + /// Get a 3x3 matrix of the pixles around the center + /// + /// Center Row + /// Center Column + /// 3x3 matrix of the pixles around the center + private Color[,] Get3x3(int row, int column) + { + Color[,] c = new Color[3, 3]; + c[0, 0] = this.GetPixel(column - 1, row - 1); + c[0, 1] = this.GetPixel(column - 1, row); + c[0, 2] = this.GetPixel(column - 1, row + 1); + c[1, 0] = this.GetPixel(column, row - 1); + c[1, 1] = this.GetPixel(column, row); + c[1, 2] = this.GetPixel(column, row + 1); + c[2, 0] = this.GetPixel(column + 1, row - 1); + c[2, 1] = this.GetPixel(column + 1, row); + c[2, 2] = this.GetPixel(column + 1, row + 1); + return c; + } + private int[,] GetGrey3x3(int row, int column) + { + int[,] c = new int[3, 3]; + c[0, 0] = this.GetGreyPixel(column - 1, row - 1); + c[0, 1] = this.GetGreyPixel(column - 1, row); + c[0, 2] = this.GetGreyPixel(column - 1, row + 1); + c[1, 0] = this.GetGreyPixel(column, row - 1); + c[1, 1] = this.GetGreyPixel(column, row); + c[1, 2] = this.GetGreyPixel(column, row + 1); + c[2, 0] = this.GetGreyPixel(column + 1, row - 1); + c[2, 1] = this.GetGreyPixel(column + 1, row); + c[2, 2] = this.GetGreyPixel(column + 1, row + 1); + return c; + } + /// + /// Get at 5x5 matrix of the pixels around the center + /// + /// Center Row + /// Center Column + /// 5x5 matrix of pixles around center + private Color[,] Get5x5(int row, int column) + { + Color[,] c = new Color[5, 5]; + c[0, 0] = this.GetPixel(column - 2, row - 2); + c[0, 1] = this.GetPixel(column - 2, row - 1); + c[0, 2] = this.GetPixel(column - 2, row); + c[0, 3] = this.GetPixel(column - 2, row + 1); + c[0, 4] = this.GetPixel(column - 2, row + 2); + c[1, 0] = this.GetPixel(column - 1, row - 2); + c[1, 1] = this.GetPixel(column - 1, row - 1); + c[1, 2] = this.GetPixel(column - 1, row); + c[1, 3] = this.GetPixel(column - 1, row + 1); + c[1, 4] = this.GetPixel(column - 1, row + 2); + c[2, 0] = this.GetPixel(column, row - 2); + c[2, 1] = this.GetPixel(column, row - 1); + c[2, 2] = this.GetPixel(column, row); + c[2, 3] = this.GetPixel(column, row + 1); + c[2, 4] = this.GetPixel(column, row + 2); + c[3, 0] = this.GetPixel(column + 1, row - 2); + c[3, 1] = this.GetPixel(column + 1, row - 1); + c[3, 2] = this.GetPixel(column + 1, row); + c[3, 3] = this.GetPixel(column + 1, row + 1); + c[3, 4] = this.GetPixel(column + 1, row + 2); + c[4, 0] = this.GetPixel(column + 2, row - 2); + c[4, 1] = this.GetPixel(column + 2, row - 1); + c[4, 2] = this.GetPixel(column + 2, row); + c[4, 3] = this.GetPixel(column + 2, row + 1); + c[4, 4] = this.GetPixel(column + 2, row + 2); + return c; + } + /// + /// Perform laplace edge detection on the image + /// + /// Source Image + /// Edges + public static Bitmap Laplace(Bitmap b) + { + ImagerBitmap i = new ImagerBitmap(b.Clone() as Bitmap); + ImagerBitmap i2 = new ImagerBitmap(b.Clone() as Bitmap); + for (int column = 1; column < i.Bitmap.Width - 1; column++) + { + for (int row = 1; row < i.Bitmap.Height - 1; row++) + { + Color[,] c = i.Get3x3(row, column); + int red = (((c[0, 0].R + c[0, 1].R + c[0, 2].R + c[1, 0].R + c[1, 2].R + c[2, 0].R + + c[2, 1].R + c[2, 2].R) * -1) + (c[1, 1].R * 8)) + 128; + int green = (((c[0, 0].G + c[0, 1].G + c[0, 2].G + c[1, 0].G + c[1, 2].G + + c[2, 0].G + c[2, 1].G + c[2, 2].G) * -1) + (c[1, 1].G * 8)) + 128; + int blue = (((c[0, 0].B + c[0, 1].B + c[0, 2].B + c[1, 0].B + c[1, 2].B + c[2, 0].B + + c[2, 1].B + c[2, 2].B) * -1) + (c[1, 1].B * 8)) + 128; + if (red >= 128) red = 0; else red = 255; + if (green >= 128) green = 0; else green = 255; + if (blue >= 128) blue = 0; else blue = 255; + i2.SetPixel(column, row, Color.FromArgb(red, green, blue)); + } + } + i.UnlockBitmap(); + i2.UnlockBitmap(); + return i2.Bitmap.Clone() as Bitmap; + } + public static Bitmap LaplaceGreyscale(Bitmap b) + { + ImagerBitmap i = new ImagerBitmap(b.Clone() as Bitmap); + ImagerBitmap i2 = new ImagerBitmap(b.Clone() as Bitmap); + for (int column = 1; column < i.Bitmap.Width - 1; column++) + { + for (int row = 1; row < i.Bitmap.Height - 1; row++) + { + int[,] c = i.GetGrey3x3(row, column); + int val = (((c[0, 0] + c[0, 1] + c[0, 2] + c[1, 0] + c[1, 2] + c[2, 0] + c[2, 1] + + c[2, 2]) * -1) + (c[1, 1] * 8)) + 128; + if (val >= 128) val = 0; else val = 255; + i2.SetPixel(column, row, Color.FromArgb(val, val, val)); + } + } + i.UnlockBitmap(); + i2.UnlockBitmap(); + return i2.Bitmap.Clone() as Bitmap; + } + + /// + /// Subtract b2 from b1 and normalize the image + /// + /// Image + /// Image + /// Normalized Image + public static Bitmap Subtract(Bitmap b1, Bitmap b2) + { + if (b1.Width != b2.Width || b1.Height != b2.Height) + throw new Exception("Images not the same size cannot subtract"); + ImagerBitmap i = new ImagerBitmap(b1.Clone() as Bitmap); + ImagerBitmap i2 = new ImagerBitmap(b2.Clone() as Bitmap); + int[,] red = new int[i.Bitmap.Width, i.Bitmap.Height]; + int[,] blue = new int[i.Bitmap.Width, i.Bitmap.Height]; + int[,] green = new int[i.Bitmap.Width, i.Bitmap.Height]; + int redMax = 0; + int redMin = 0; + int redRange = 0; + int blueMax = 0; + int blueMin = 0; + int blueRange = 0; + int greenMax = 0; + int greenMin = 0; + int greenRange = 0; + //fill the arrays with the subtracted values + //Keep track of the min and max values for later + for (int column = 0; column < i.Bitmap.Width; column++) + { + for (int row = 0; row < i.Bitmap.Height; row++) + { + Color c1 = i.GetPixel(column, row); + Color c2 = i2.GetPixel(column, row); + red[column, row] = c2.R - c1.R; + blue[column, row] = c2.B - c1.B; + green[column, row] = c2.G - c1.G; + if (red[column, row] > redMax) redMax = red[column, row]; + if (red[column, row] < redMin) redMin = red[column, row]; + if (blue[column, row] > blueMax) blueMax = blue[column, row]; + if (blue[column, row] < blueMin) blueMin = blue[column, row]; + if (green[column, row] > greenMax) greenMax = green[column, row]; + if (green[column, row] < greenMin) greenMin = green[column, row]; + } + } + //find the range of the min an max + redRange = Math.Abs(redMax - redMin); + blueRange = Math.Abs(blueMax - blueMin); + greenRange = Math.Abs(greenRange - greenMin); + //Normalize the values in the arrays and load the result image + for (int column = 0; column < i.Bitmap.Width; column++) + { + for (int row = 0; row < i.Bitmap.Height; row++) + { + if (redRange != 0) + red[column, row] = 255 - (((redMax - red[column, row]) * 255) / redRange); + if (blueRange != 0) + blue[column, row] = 255 - (((blueMax - blue[column, row]) * 255) / blueRange); + if (greenRange != 0) + green[column, row] = 255 - (((greenMax - green[column, row]) * 255) / greenRange); + if (red[column, row] < 0) + red[column, row] = 0; + if (blue[column, row] < 0) + blue[column, row] = 0; + if (green[column, row] < 0) + green[column, row] = 0; + i2.SetPixel(column, row, Color.FromArgb(red[column, row], green[column, row], + blue[column, row])); + } + } + i.UnlockBitmap(); + i2.UnlockBitmap(); + return i2.Bitmap.Clone() as Bitmap; + } + /// + /// Get the red pixels from the bitmap + /// + /// Image to Process + /// Filtered Image + public static Bitmap GetRedBitmap(Bitmap b) + { + ImagerBitmap i = new ImagerBitmap(b.Clone() as Bitmap); + for (int column = 0; column < i.Bitmap.Width; column++) + { + for (int row = 0; row < i.Bitmap.Height; row++) + { + i.SetPixel(column, row, Color.FromArgb(i.GetPixel(column, row).R, 0, 0)); + } + } + i.UnlockBitmap(); + return i.Bitmap.Clone() as Bitmap; + } + /// + /// Get the Blue Pixes from the bitmap + /// + /// Image to Process + /// Filtered Image + public static Bitmap GetBlueBitmap(Bitmap b) + { + ImagerBitmap i = new ImagerBitmap(b.Clone() as Bitmap); + for (int column = 0; column < i.Bitmap.Width; column++) + { + for (int row = 0; row < i.Bitmap.Height; row++) + { + i.SetPixel(column, row, Color.FromArgb(0, 0, i.GetPixel(column, row).B)); + } + } + i.UnlockBitmap(); + return i.Bitmap.Clone() as Bitmap; + } + /// + /// Get the green pixels from the image + /// + /// Image to Process + /// Filtered Image + public static Bitmap GetGreenBitmap(Bitmap b) + { + ImagerBitmap i = new ImagerBitmap(b.Clone() as Bitmap); + for (int column = 0; column < i.Bitmap.Width; column++) + { + for (int row = 0; row < i.Bitmap.Height; row++) + { + i.SetPixel(column, row, Color.FromArgb(0, i.GetPixel(column, row).G, 0)); + } + } + i.UnlockBitmap(); + return i.Bitmap.Clone() as Bitmap; + } + /// + /// Make the image Grey scale + /// + /// Image to Process + /// Filtered Image + public static Bitmap GetGreyScaleBitmap(Bitmap b) + { + ImagerBitmap i = new ImagerBitmap(b.Clone() as Bitmap); + for (int column = 0; column < i.Bitmap.Width; column++) + { + for (int row = 0; row < i.Bitmap.Height; row++) + { + int val = i.GetGreyPixel(column, row); + i.SetPixel(column, row, Color.FromArgb(val, val, val)); + } + } + i.UnlockBitmap(); + return i.Bitmap.Clone() as Bitmap; + } + /// + /// Make the image black and white + /// + /// Image to Process + /// Filtered Image + public static Bitmap GetBlackAndWhiteBitmap(Bitmap b) + { + ImagerBitmap i = new ImagerBitmap(b.Clone() as Bitmap); + double[] histogram = new double[256]; + for (int column = 0; column < i.Bitmap.Width; column++) + { + for (int row = 0; row < i.Bitmap.Height; row++) + { + histogram[i.GetGreyPixel(column, row)]++; + } + } + //find the position of the max value on the left + int leftK = 0; + for (int k = 0; k < 128; k++) + { + if (histogram[k] > histogram[leftK]) leftK = k; + } + //find the position of the max value on the right + int rightK = 0; + for (int k = 128; k < 256; k++) + { + if (histogram[k] > histogram[rightK]) rightK = k; + } + //find the min value between the 2 local maxes + int localMin = rightK; + for (int k = leftK; k < rightK; k++) + { + if (histogram[k] < histogram[localMin]) localMin = k; + } + for (int column = 0; column < i.Bitmap.Width; column++) + { + for (int row = 0; row < i.Bitmap.Height; row++) + { + int val = (i.GetPixel(column, row).R + i.GetPixel(column, row).G + + i.GetPixel(column, row).B) / 3; + if (val > localMin) + val = 255; + else + val = 0; + i.SetPixel(column, row, Color.FromArgb(val, val, val)); + } + } + i.UnlockBitmap(); + return i.Bitmap.Clone() as Bitmap; + } + public static Bitmap GetBlackAndWhiteBitmap2(Bitmap b) + { + ImagerBitmap i = new ImagerBitmap(b.Clone() as Bitmap); + double[] histogram = new double[256]; + for (int column = 0; column < i.Bitmap.Width; column++) + { + for (int row = 0; row < i.Bitmap.Height; row++) + { + histogram[i.GetGreyPixel(column, row)]++; + } + } + double k = b.Width * b.Height; + double half = k / 2; + int middle = 0; + while (k > half) + { + k = k - histogram[middle]; + middle++; + } + for (int column = 0; column < i.Bitmap.Width; column++) + { + for (int row = 0; row < i.Bitmap.Height; row++) + { + int val = (i.GetPixel(column, row).R + i.GetPixel(column, row).G + + i.GetPixel(column, row).B) / 3; + if (val > middle) + val = 255; + else + val = 0; + i.SetPixel(column, row, Color.FromArgb(val, val, val)); + } + } + i.UnlockBitmap(); + return i.Bitmap.Clone() as Bitmap; + } + /// + /// Perform a Box filter using a 3x3 Mask + /// + /// Image to Process + /// Filtered Image + public static Bitmap Box3x3(Bitmap b) + { + ImagerBitmap i = new ImagerBitmap(b.Clone() as Bitmap); + ImagerBitmap i2 = new ImagerBitmap(b.Clone() as Bitmap); + for (int column = 1; column < i.Bitmap.Width - 1; column++) + { + for (int row = 1; row < i.Bitmap.Height - 1; row++) + { + Color[,] c = i.Get3x3(row, column); + int red = (c[0, 0].R + c[0, 1].R + c[0, 2].R + c[1, 0].R + c[1, 2].R + c[2, 0].R + + c[2, 1].R + c[2, 2].R + c[1, 1].R) / 9; + int green = (c[0, 0].G + c[0, 1].G + c[0, 2].G + c[1, 0].G + c[1, 2].G + c[2, 0].G + + c[2, 1].G + c[2, 2].G + c[1, 1].G) / 9; + int blue = (c[0, 0].B + c[0, 1].B + c[0, 2].B + c[1, 0].B + c[1, 2].B + c[2, 0].B + + c[2, 1].B + c[2, 2].B + c[1, 1].B) / 9; + i2.SetPixel(column, row, Color.FromArgb(red, green, blue)); + } + } + i.UnlockBitmap(); + i2.UnlockBitmap(); + return i2.Bitmap.Clone() as Bitmap; + } + /// + /// Perform a Bionomial filter using a 3x3 Mask + /// + /// Image to Process + /// Filtered Image + public static Bitmap Binomial3x3(Bitmap b) + { + ImagerBitmap i = new ImagerBitmap(b.Clone() as Bitmap); + ImagerBitmap i2 = new ImagerBitmap(b.Clone() as Bitmap); + for (int column = 1; column < i.Bitmap.Width - 1; column++) + { + for (int row = 1; row < i.Bitmap.Height - 1; row++) + { + Color[,] c = i.Get3x3(row, column); + int red = ((c[0, 0].R * 1) + (c[0, 1].R * 2) + (c[0, 2].R * 1) + (c[1, 0].R * 2) + + (c[1, 1].R * 4) + (c[1, 2].R * 2) + (c[2, 0].R * 1) + (c[2, 1].R * 2) + + (c[2, 2].R * 1)) / 16; + int green = ((c[0, 0].G * 1) + (c[0, 1].G * 2) + (c[0, 2].G * 1) + (c[1, 0].G * 2) + + (c[1, 1].G * 4) + (c[1, 2].G * 2) + (c[2, 0].G * 1) + (c[2, 1].G * 2) + + (c[2, 2].G * 1)) / 16; + int blue = ((c[0, 0].B * 1) + (c[0, 1].B * 2) + (c[0, 2].B * 1) + (c[1, 0].B * 2) + + (c[1, 1].B * 4) + (c[1, 2].B * 2) + (c[2, 0].B * 1) + (c[2, 1].B * 2) + + (c[2, 2].B * 1)) / 16; + i2.SetPixel(column, row, Color.FromArgb(red, green, blue)); + } + } + i.UnlockBitmap(); + i2.UnlockBitmap(); + return i2.Bitmap.Clone() as Bitmap; + } + /// + /// Perform a Median filter using a 3x3 mask + /// + /// Image to Process + /// Filtered Image + public static Bitmap Median3x3(Bitmap b) + { + ImagerBitmap i = new ImagerBitmap(b.Clone() as Bitmap); + ImagerBitmap i2 = new ImagerBitmap(b.Clone() as Bitmap); + for (int column = 1; column < i.Bitmap.Width - 1; column++) + { + for (int row = 1; row < i.Bitmap.Height - 1; row++) + { + Color[,] c = i.Get3x3(row, column); + int red = Median(c[0, 0].R, c[0, 1].R, c[0, 2].R, c[1, 0].R, c[1, 1].R, c[1, 2].R, + c[2, 0].R, c[2, 1].R, c[2, 2].R); + int green = Median(c[0, 0].G, c[0, 1].G, c[0, 2].G, c[1, 0].G, c[1, 1].G, + c[1, 2].G, c[2, 0].G, c[2, 1].G, c[2, 2].G); + int blue = Median(c[0, 0].B, c[0, 1].B, c[0, 2].B, c[1, 0].B, c[1, 1].B, c[1, 2].B, + c[2, 0].B, c[2, 1].B, c[2, 2].B); + i2.SetPixel(column, row, Color.FromArgb(red, green, blue)); + } + } + i.UnlockBitmap(); + i2.UnlockBitmap(); + return i2.Bitmap.Clone() as Bitmap; + } + /// + /// Perform a Box filter using a 5x5 Mask + /// + /// Image to Process + /// Filtered Image + public static Bitmap Box5x5(Bitmap b) + { + ImagerBitmap i = new ImagerBitmap(b.Clone() as Bitmap); + ImagerBitmap i2 = new ImagerBitmap(b.Clone() as Bitmap); + for (int column = 2; column < i.Bitmap.Width - 2; column++) + { + for (int row = 2; row < i.Bitmap.Height - 2; row++) + { + Color[,] c = i.Get5x5(row, column); + int red = (c[0, 0].R + c[0, 1].R + c[0, 2].R + c[0, 3].R + c[0, 4].R + c[1, 0].R + + c[1, 1].R + c[1, 2].R + c[1, 3].R + c[1, 4].R + c[2, 0].R + c[2, 1].R + + c[2, 2].R + c[2, 3].R + c[2, 4].R + c[3, 0].R + c[3, 1].R + c[3, 2].R + + c[3, 3].R + c[3, 4].R + c[4, 0].R + c[4, 1].R + c[4, 2].R + c[4, 3].R + + c[4, 4].R) / 25; + int green = (c[0, 0].G + c[0, 1].G + c[0, 2].G + c[0, 3].G + c[0, 4].G + c[1, 0].G + + c[1, 1].G + c[1, 2].G + c[1, 3].G + c[1, 4].G + c[2, 0].G + c[2, 1].G + + c[2, 2].G + c[2, 3].G + c[2, 4].G + c[3, 0].G + c[3, 1].G + c[3, 2].G + + c[3, 3].G + c[3, 4].G + c[4, 0].G + c[4, 1].G + c[4, 2].G + c[4, 3].G + + c[4, 4].G) / 25; + int blue = (c[0, 0].B + c[0, 1].B + c[0, 2].B + c[0, 3].B + c[0, 4].B + c[1, 0].B + + c[1, 1].B + c[1, 2].B + c[1, 3].B + c[1, 4].B + c[2, 0].B + c[2, 1].B + + c[2, 2].B + c[2, 3].B + c[2, 4].B + c[3, 0].B + c[3, 1].B + c[3, 2].B + + c[3, 3].B + c[3, 4].B + c[4, 0].B + c[4, 1].B + c[4, 2].B + c[4, 3].B + + c[4, 4].B) / 25; + i2.SetPixel(column, row, Color.FromArgb(red, green, blue)); + } + } + i.UnlockBitmap(); + i2.UnlockBitmap(); + return i2.Bitmap.Clone() as Bitmap; + } + /// + /// Perform a Binomial filter using a 5x5 Mask + /// + /// Image to Process + /// Filtered Image + public static Bitmap Binomial5x5(Bitmap b) + { + ImagerBitmap i = new ImagerBitmap(b.Clone() as Bitmap); + ImagerBitmap i2 = new ImagerBitmap(b.Clone() as Bitmap); + for (int column = 2; column < i.Bitmap.Width - 2; column++) + { + for (int row = 2; row < i.Bitmap.Height - 2; row++) + { + Color[,] c = i.Get5x5(row, column); + int red = ((c[0, 0].R * 1) + (c[0, 1].R * 4) + (c[0, 2].R * 6) + (c[0, 3].R * 4) + + (c[0, 4].R * 1) + (c[1, 0].R * 4) + (c[1, 1].R * 16) + (c[1, 2].R * 24) + + (c[1, 3].R * 16) + (c[1, 4].R * 4) + (c[2, 0].R * 6) + (c[2, 1].R * 24) + + (c[2, 2].R * 36) + (c[2, 3].R * 24) + (c[2, 4].R * 6) + (c[3, 0].R * 4) + + (c[3, 1].R * 16) + (c[3, 2].R * 24) + (c[3, 3].R * 16) + (c[3, 4].R * 4) + + (c[4, 0].R * 1) + (c[4, 1].R * 4) + (c[4, 2].R * 6) + (c[4, 3].R * 4) + + (c[4, 4].R * 1)) / 256; + int green = ((c[0, 0].G * 1) + (c[0, 1].G * 4) + (c[0, 2].G * 6) + (c[0, 3].G * 4) + + (c[0, 4].G * 1) + (c[1, 0].G * 4) + (c[1, 1].G * 16) + (c[1, 2].G * 24) + + (c[1, 3].G * 16) + (c[1, 4].G * 4) + (c[2, 0].G * 6) + (c[2, 1].G * 24) + + (c[2, 2].G * 36) + (c[2, 3].G * 24) + (c[2, 4].G * 6) + (c[3, 0].G * 4) + + (c[3, 1].G * 16) + (c[3, 2].G * 24) + (c[3, 3].G * 16) + (c[3, 4].G * 4) + + (c[4, 0].G * 1) + (c[4, 1].G * 4) + (c[4, 2].G * 6) + (c[4, 3].G * 4) + + (c[4, 4].G * 1)) / 256; + int blue = ((c[0, 0].B * 1) + (c[0, 1].B * 4) + (c[0, 2].B * 6) + (c[0, 3].B * 4) + + (c[0, 4].B * 1) + (c[1, 0].B * 4) + (c[1, 1].B * 16) + (c[1, 2].B * 24) + + (c[1, 3].B * 16) + (c[1, 4].B * 4) + (c[2, 0].B * 6) + (c[2, 1].B * 24) + + (c[2, 2].B * 36) + (c[2, 3].B * 24) + (c[2, 4].B * 6) + (c[3, 0].B * 4) + + (c[3, 1].B * 16) + (c[3, 2].B * 24) + (c[3, 3].B * 16) + (c[3, 4].B * 4) + + (c[4, 0].B * 1) + (c[4, 1].B * 4) + (c[4, 2].B * 6) + (c[4, 3].B * 4) + + (c[4, 4].B * 1)) / 256; + i2.SetPixel(column, row, Color.FromArgb(red, green, blue)); + } + } + i.UnlockBitmap(); + i2.UnlockBitmap(); + return i2.Bitmap.Clone() as Bitmap; + } + /// + /// Perform a Median fiter using a 5x5 Mask + /// + /// Image to Process + /// Filtered Image + public static Bitmap Median5x5(Bitmap b) + { + ImagerBitmap i = new ImagerBitmap(b.Clone() as Bitmap); + ImagerBitmap i2 = new ImagerBitmap(b.Clone() as Bitmap); + for (int column = 2; column < i.Bitmap.Width - 2; column++) + { + for (int row = 2; row < i.Bitmap.Height - 2; row++) + { + Color[,] c = i.Get5x5(row, column); + int red = Median(c[0, 0].R, c[0, 1].R, c[0, 2].R, c[0, 3].R, c[0, 4].R, c[1, 0].R, + c[1, 1].R, c[1, 2].R, c[1, 3].R, c[1, 4].R, c[2, 0].R, c[2, 1].R, c[2, 2].R, + c[2, 3].R, c[2, 4].R, c[3, 0].R, c[3, 1].R, c[3, 2].R, c[3, 3].R, c[3, 4].R, + c[4, 0].R, c[4, 1].R, c[4, 2].R, c[4, 3].R, c[4, 4].R); + int green = Median(c[0, 0].G, c[0, 1].G, c[0, 2].G, c[0, 3].G, c[0, 4].G, c[1, 0].G, + c[1, 1].G, c[1, 2].G, c[1, 3].G, c[1, 4].G, c[2, 0].G, c[2, 1].G, c[2, 2].G, + c[2, 3].G, c[2, 4].G, c[3, 0].G, c[3, 1].G, c[3, 2].G, c[3, 3].G, c[3, 4].G, + c[4, 0].G, c[4, 1].G, c[4, 2].G, c[4, 3].G, c[4, 4].G); + int blue = Median(c[0, 0].B, c[0, 1].B, c[0, 2].B, c[0, 3].B, c[0, 4].B, c[1, 0].B, + c[1, 1].B, c[1, 2].B, c[1, 3].B, c[1, 4].B, c[2, 0].B, c[2, 1].B, c[2, 2].B, + c[2, 3].B, c[2, 4].B, c[3, 0].B, c[3, 1].B, c[3, 2].B, c[3, 3].B, c[3, 4].B, + c[4, 0].B, c[4, 1].B, c[4, 2].B, c[4, 3].B, c[4, 4].B); + i2.SetPixel(column, row, Color.FromArgb(red, green, blue)); + } + } + i.UnlockBitmap(); + i2.UnlockBitmap(); + return i2.Bitmap.Clone() as Bitmap; + } + /// + /// Find the Median value in an array of int's + /// + /// Array of values + /// Median value + private static int Median(params int[] values) + { + Array.Sort(values); + return values[((values.Length - 1) / 2) + 1]; + } + /// + /// Resize an image + /// + /// Image to resize + /// Width in pixels + /// Height in pixels + /// New Image + public static Bitmap Resize(Bitmap b, int width, int height) + { + Bitmap b2 = new Bitmap(width, height, PixelFormat.Format24bppRgb); + Graphics g = Graphics.FromImage(b2); + g.DrawImage(b, new Rectangle(0, 0, width, height), 0, 0, b.Width, b.Height, + GraphicsUnit.Pixel); + g.Dispose(); + return b2; + } + /// + /// Generate a greyscale histogram chart from the bitmap + /// + /// Image to use + /// Histogram chart + /*public static Bitmap GenerateGreyscaleHistogram(Bitmap b) + { + ImagerBitmap i = new ImagerBitmap(b.Clone() as Bitmap); + double[] histogram = new double[256]; + string[] lbls = new string[256]; + for (int column = 0; column < i.Bitmap.Width; column++) + { + for (int row = 0; row < i.Bitmap.Height; row++) + { + histogram[i.GetGreyPixel(column, row)]++; + } + } + i.UnlockBitmap(); + for (int j = 0; j < 256; j++) + { + if ((j % 30) == 0) + { + lbls[j] = j.ToString(); + } + else + { + lbls[j] = string.Empty; + } + } + XYChart c = new XYChart(b.Width + 60, b.Height + 60); + c.setPlotArea(40, 40, b.Width - 20, b.Height - 20); + c.addTitle("Greyscale Historgram", "Arial Bold", 10).setBackground( + Chart.metalColor(0x9999ff), -1, 1); + c.addBarLayer(histogram); + c.xAxis().setLabels(lbls); + return c.makeImage() as Bitmap; + }*/ + /// + /// Generate a histogram chart from the bitmap + /// + /// Image to use + /// Histogram chart + /* public static Bitmap GenerateHistogram(Bitmap b) + { + ImagerBitmap i = new ImagerBitmap(b.Clone() as Bitmap); + double[] histogram = new double[64]; + string[] lbls = new string[64]; + for (int column = 0; column < i.Bitmap.Width; column++) + { + for (int row = 0; row < i.Bitmap.Height; row++) + { + histogram[i.GetRGBHistogramValue(column, row)]++; + } + } + i.UnlockBitmap(); + for (int j = 0; j < 64; j++) + { + if ((j % 10) == 0) + { + lbls[j] = j.ToString(); + } + else + { + lbls[j] = string.Empty; + } + } + XYChart c = new XYChart(b.Width + 60, b.Height + 60); + c.setPlotArea(40, 40, b.Width - 20, b.Height - 20); + c.addTitle("Color Historgram", "Arial Bold", 10).setBackground( + Chart.metalColor(0x9999ff), -1, 1); + c.addBarLayer(histogram); + c.xAxis().setLabels(lbls); + return c.makeImage() as Bitmap; + }*/ + /// + /// Generate a Chart of a Scan line + /// + /// Image to use + /// Row to use + /// Scan Line Chart + /*public static Bitmap GenerateScanLineChart(Bitmap b, int row) + { + ImagerBitmap i = new ImagerBitmap(b.Clone() as Bitmap); + double[] luminance = new double[b.Width]; + string[] lbls = new string[b.Width]; + double max = double.MinValue; + double min = double.MaxValue; + for (int column = 0; column < i.Bitmap.Width; column++) + { + luminance[column] = i.GetGreyPixel(column, row); + if (luminance[column] > max) max = luminance[column]; + if (luminance[column] < min) min = luminance[column]; + if ((column % 40) == 0) + { + lbls[column] = column.ToString(); + } + else + { + lbls[column] = string.Empty; + } + } + i.UnlockBitmap(); + XYChart c = new XYChart(b.Width + 60, b.Height + 60); + c.setPlotArea(40, 40, b.Width - 20, b.Height - 20); + c.addTitle(string.Format("Pixel Luminance for Scan Line {0}, STF {1:0.00}", + row.ToString(), + (max - min) / (max + min)), "Arial Bold", 10).setBackground( + Chart.metalColor(0x9999ff), -1, 1); + c.addLineLayer(luminance); + c.xAxis().setLabels(lbls); + return c.makeImage() as Bitmap; + }*/ + /// + /// Generate a Chart of a Vertical Scan line + /// + /// Image to use + /// Column to use + /// Scan Line Chart + /*public static Bitmap GenerateVerticalScanLineChart(Bitmap b, int col) + { + ImagerBitmap i = new ImagerBitmap(b.Clone() as Bitmap); + double[] luminance = new double[b.Height]; + string[] lbls = new string[b.Height]; + for (int row = 0; row < i.Bitmap.Height; row++) + { + luminance[row] = i.GetGreyPixel(col, row); + if ((row % 40) == 0) + { + lbls[row] = row.ToString(); + } + else + { + lbls[row] = string.Empty; + } + } + i.UnlockBitmap(); + XYChart c = new XYChart(b.Width + 60, b.Height + 60); + c.setPlotArea(40, 40, b.Width - 20, b.Height - 20); + c.addTitle("Pixel Luminance for Vertical Scan Line " + col.ToString(), + "Arial Bold", 10).setBackground( + Chart.metalColor(0x9999ff), -1, 1); + c.addLineLayer(luminance); + c.xAxis().setLabels(lbls); + return c.makeImage() as Bitmap; + }*/ + public static void GenerateExcelFile(Bitmap b) + { + ImagerBitmap i = new ImagerBitmap(b.Clone() as Bitmap); + string fileName = "output.txt"; + int f = 0; + using (StreamWriter sw = new StreamWriter(fileName, false)) + { + sw.WriteLine("{0}\t{1}\t{2}\t{3}\t{4}\t{5}\t{6}", "Index", "Row", "Column", "Red", + "Green", "Blue", "Gray"); + for (int column = 0; column < i.Bitmap.Width; column++) + { + for (int row = 0; row < i.Bitmap.Height; row++) + { + f++; + Color c = i.GetPixel(column, row); + int g = i.GetGreyPixel(column, row); + sw.WriteLine("{0}\t{1}\t{2}\t{3}\t{4}\t{5}\t{6}", f, + row, column, c.R, c.G, c.B, g); + } + } + } + i.UnlockBitmap(); + System.Diagnostics.Process.Start(fileName); + } + + public void Dispose() + { + UnlockBitmap(); + } + + public void Line(float x, float y, float x2, float y2, Color color) + { + Line((int)x, (int)y, (int)x2, (int)y2, color); + } + public void Line(int x, int y, int x2, int y2, Color color) + { + int w = x2 - x; + int h = y2 - y; + int dx1 = 0, dy1 = 0, dx2 = 0, dy2 = 0; + if (w < 0) dx1 = -1; else if (w > 0) dx1 = 1; + if (h < 0) dy1 = -1; else if (h > 0) dy1 = 1; + if (w < 0) dx2 = -1; else if (w > 0) dx2 = 1; + int longest = Math.Abs(w); + int shortest = Math.Abs(h); + if (!(longest > shortest)) + { + longest = Math.Abs(h); + shortest = Math.Abs(w); + if (h < 0) dy2 = -1; else if (h > 0) dy2 = 1; + dx2 = 0; + } + int numerator = longest >> 1; + for (int i = 0; i <= longest; i++) + { + SetPixel(x, y, color); + numerator += shortest; + if (!(numerator < longest)) + { + numerator -= longest; + x += dx1; + y += dy1; + } + else + { + x += dx2; + y += dy2; + } + } + } + + public void PolyClosed(List path, Color c) + { + if (path.Count == 0) return; + if (path.Count == 1) + { + SetPixel(path[0].X, path[0].Y, c); + return; + } + + Poly(path, c); + + var from1 = path[0]; + var to1 = path.Last(); + Line(from1.X, from1.Y, to1.X, to1.Y, c); + } + + public void Poly(List path, Color c) + { + if (path.Count == 0) return; + if (path.Count == 1) + { + SetPixel(path[0].X, path[0].Y, c); + return; + } + + for (int i = 1; i < path.Count; i++) + { + var from = path[i]; + var to = path[i - 1]; + Line(from.X, from.Y, to.X, to.Y, c); + } + } + + public void Cross(float x, float y, float width, Color green) + { + Line(x - width, y - width, x + width, y + width, green); + Line(x - width, y + width, x + width, y - width, green); + } + } + +} diff --git a/artem_labi/D1/D1/D1.csproj b/artem_labi/D1/D1/D1.csproj new file mode 100644 index 0000000..d0bd7cf --- /dev/null +++ b/artem_labi/D1/D1/D1.csproj @@ -0,0 +1,94 @@ + + + + + Debug + AnyCPU + {5E3545B6-1D3D-44A8-916C-88D7AED368F4} + WinExe + Properties + D1 + D1 + v4.5 + 512 + + + AnyCPU + true + full + false + bin\Debug\ + DEBUG;TRACE + prompt + 4 + true + + + AnyCPU + pdbonly + true + bin\Release\ + TRACE + prompt + 4 + + + + + + + + + + + + + + + + + Form + + + Form1.cs + + + + + Form1.cs + + + ResXFileCodeGenerator + Resources.Designer.cs + Designer + + + True + Resources.resx + True + + + SettingsSingleFileGenerator + Settings.Designer.cs + + + True + Settings.settings + True + + + + + + + + + + + \ No newline at end of file diff --git a/artem_labi/D1/D1/Form1.Designer.cs b/artem_labi/D1/D1/Form1.Designer.cs new file mode 100644 index 0000000..e0e7d66 --- /dev/null +++ b/artem_labi/D1/D1/Form1.Designer.cs @@ -0,0 +1,141 @@ +namespace D1 +{ + partial class Form1 + { + /// + /// Требуется переменная конструктора. + /// + private System.ComponentModel.IContainer components = null; + + /// + /// Освободить все используемые ресурсы. + /// + /// истинно, если управляемый ресурс должен быть удален; иначе ложно. + protected override void Dispose(bool disposing) + { + if (disposing && (components != null)) + { + components.Dispose(); + } + base.Dispose(disposing); + } + + #region Код, автоматически созданный конструктором форм Windows + + /// + /// Обязательный метод для поддержки конструктора - не изменяйте + /// содержимое данного метода при помощи редактора кода. + /// + private void InitializeComponent() + { + this.pictureBox1 = new System.Windows.Forms.PictureBox(); + this.button1 = new System.Windows.Forms.Button(); + this.button2 = new System.Windows.Forms.Button(); + this.button3 = new System.Windows.Forms.Button(); + this.button4 = new System.Windows.Forms.Button(); + this.button5 = new System.Windows.Forms.Button(); + this.button6 = new System.Windows.Forms.Button(); + ((System.ComponentModel.ISupportInitialize)(this.pictureBox1)).BeginInit(); + this.SuspendLayout(); + // + // pictureBox1 + // + this.pictureBox1.Image = global::D1.Properties.Resources.Lenna; + this.pictureBox1.Location = new System.Drawing.Point(12, 12); + this.pictureBox1.Name = "pictureBox1"; + this.pictureBox1.Size = new System.Drawing.Size(529, 518); + this.pictureBox1.TabIndex = 0; + this.pictureBox1.TabStop = false; + // + // button1 + // + this.button1.Location = new System.Drawing.Point(556, 12); + this.button1.Name = "button1"; + this.button1.Size = new System.Drawing.Size(114, 23); + this.button1.TabIndex = 1; + this.button1.Text = "Graysacale (Not real)"; + this.button1.UseVisualStyleBackColor = true; + this.button1.Click += new System.EventHandler(this.button1_Click); + // + // button2 + // + this.button2.Location = new System.Drawing.Point(556, 41); + this.button2.Name = "button2"; + this.button2.Size = new System.Drawing.Size(114, 23); + this.button2.TabIndex = 2; + this.button2.Text = "Gauss"; + this.button2.UseVisualStyleBackColor = true; + this.button2.Click += new System.EventHandler(this.button2_Click); + // + // button3 + // + this.button3.Location = new System.Drawing.Point(556, 173); + this.button3.Name = "button3"; + this.button3.Size = new System.Drawing.Size(123, 23); + this.button3.TabIndex = 3; + this.button3.Text = "Back to origin"; + this.button3.UseVisualStyleBackColor = true; + this.button3.Click += new System.EventHandler(this.button3_Click); + // + // button4 + // + this.button4.Location = new System.Drawing.Point(556, 70); + this.button4.Name = "button4"; + this.button4.Size = new System.Drawing.Size(114, 23); + this.button4.TabIndex = 4; + this.button4.Text = "Median"; + this.button4.UseVisualStyleBackColor = true; + this.button4.Click += new System.EventHandler(this.button4_Click); + // + // button5 + // + this.button5.Location = new System.Drawing.Point(556, 99); + this.button5.Name = "button5"; + this.button5.Size = new System.Drawing.Size(114, 23); + this.button5.TabIndex = 5; + this.button5.Text = "Noise"; + this.button5.UseVisualStyleBackColor = true; + this.button5.Click += new System.EventHandler(this.button5_Click); + // + // button6 + // + this.button6.Location = new System.Drawing.Point(556, 144); + this.button6.Name = "button6"; + this.button6.Size = new System.Drawing.Size(114, 23); + this.button6.TabIndex = 5; + this.button6.Text = "My ph"; + this.button6.UseVisualStyleBackColor = true; + this.button6.Click += new System.EventHandler(this.button6_Click); + // + // Form1 + // + this.AutoScaleDimensions = new System.Drawing.SizeF(6F, 13F); + this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font; + this.ClientSize = new System.Drawing.Size(686, 575); + this.Controls.Add(this.button6); + this.Controls.Add(this.button5); + this.Controls.Add(this.button4); + this.Controls.Add(this.button3); + this.Controls.Add(this.button2); + this.Controls.Add(this.button1); + this.Controls.Add(this.pictureBox1); + this.Name = "Form1"; + this.Text = "Form1"; + this.Load += new System.EventHandler(this.Form1_Load); + ((System.ComponentModel.ISupportInitialize)(this.pictureBox1)).EndInit(); + this.ResumeLayout(false); + + } + + #endregion + + private System.Windows.Forms.PictureBox pictureBox1; + private System.Windows.Forms.Button button1; + private System.Windows.Forms.Button button2; + private System.Windows.Forms.Button button3; + private System.Windows.Forms.Button button4; + private System.Windows.Forms.Button button5; + private System.Windows.Forms.Button button6; + } +} + diff --git a/artem_labi/D1/D1/Form1.cs b/artem_labi/D1/D1/Form1.cs new file mode 100644 index 0000000..0dfbf7a --- /dev/null +++ b/artem_labi/D1/D1/Form1.cs @@ -0,0 +1,181 @@ +using System; +using System.Collections.Generic; +using System.ComponentModel; +using System.Data; +using System.Drawing; +using System.Linq; +using System.Text; +using System.Threading.Tasks; +using System.Windows.Forms; + +namespace D1 +{ + public partial class Form1 : Form + { + public Form1() + { + InitializeComponent(); + } + + private void button1_Click(object sender, EventArgs e) + { + var bmp = pictureBox1.Image as Bitmap; + + using(var img = new ImagerBitmap(bmp)) + { + for (int x = 0; x < img.Width; x++) + for (int y = 0; y < img.Height; y++) + { + var px = img.GetPixel(x, y); + var intensity = px.R + px.B + px.G; + intensity /= 3; + Color newColor = Color.FromArgb(intensity, intensity, intensity); + img.SetPixel(x,y,newColor); + } + + pictureBox1.Image = img.Bitmap; + } + } + + private void button2_Click(object sender, EventArgs e) + { + + var bmp = pictureBox1.Image as Bitmap; + + using (var img = new ImagerBitmap(bmp)) + { + int gaussWidth = 5; + for (int x = gaussWidth; x < img.Width-5; x++) + for (int y = gaussWidth; y < img.Height-5; y++) + { + int R = 0, G = 0, B = 0, count = 0; + + for (int x1 = x - gaussWidth; x1 <= x + gaussWidth;x1++ ) + for (int y1 = y - gaussWidth; y1 <= y + gaussWidth; y1++) + { + var c = img.GetPixel(x1, y1); + count++; + R += c.R; + G += c.G; + B += c.B; + } + img.SetPixel(x, y, Color.FromArgb(R/count, G/count, B/count)); + } + + pictureBox1.Image = img.Bitmap; + } + } + + private void button3_Click(object sender, EventArgs e) + { + pictureBox1.Image = origin.Clone() as Bitmap; + } + + Bitmap origin; + private void Form1_Load(object sender, EventArgs e) + { + origin = pictureBox1.Image.Clone() as Bitmap; + } + + private void button4_Click(object sender, EventArgs e) + { + var bmp = pictureBox1.Image as Bitmap; + var dst = bmp.Clone() as Bitmap; + + using (var img = new ImagerBitmap(bmp)) + using (var imgDst = new ImagerBitmap(dst)) + { + int gaussWidth = 1; + for (int x = gaussWidth; x < img.Width - 5; x++) + for (int y = gaussWidth; y < img.Height - 5; y++) + { + List neibourghs = new List(); + + for (int x1 = x - gaussWidth; x1 <= x + gaussWidth; x1++) + for (int y1 = y - gaussWidth; y1 <= y + gaussWidth; y1++) + { + var c = img.GetPixel(x1, y1); + neibourghs.Add(new MedianPixel(c)); + } + + var newColor = neibourghs.OrderBy(n => n.Intensity).Skip(neibourghs.Count / 2).First().Color; + + imgDst.SetPixel(x, y, newColor); + } + + pictureBox1.Image = imgDst.Bitmap; + } + } + + private void button5_Click(object sender, EventArgs e) + { + var bmp = pictureBox1.Image as Bitmap; + + Random rnd = new Random(); + + using (var img = new ImagerBitmap(bmp)) + { + for (int x = 0; x < img.Width; x++) + for (int y = 0; y < img.Height; y++) + { + if (rnd.Next(6000) == 555) + img.SetPixel(x, y, Color.Red); + if (rnd.Next(6000) == 556) + img.SetPixel(x, y, Color.Blue); + if (rnd.Next(6000) == 557) + img.SetPixel(x, y, Color.Green); + if (rnd.Next(6000) == 556) + img.SetPixel(x, y, Color.Black); + if (rnd.Next(6000) == 557) + img.SetPixel(x, y, Color.White); + } + + pictureBox1.Image = img.Bitmap; + } + } + + private void button6_Click(object sender, EventArgs e) + { + var bmp = pictureBox1.Image as Bitmap; + + Random rnd = new Random(); + + int size = 6; + + using (var img = new ImagerBitmap(bmp)) + { + for (int X = 0; X < img.Width - size; X += size) + for (int Y = 0; Y < img.Height - size; Y += size) + { + int ar = 0, ag = 0, ab = 0; + for (int x = 0; x < size; x++) + for (int y = 0; y < size; y++) + { + var p = img.GetPixel(X+x, Y+y); + ar += p.R; + ag += p.G; + ab += p.B; + } + Color c = Color.FromArgb(ar / (size * size), ag / (size * size), ab / (size * size)); + for (int x = 0; x < size; x++) + for (int y = 0; y < size; y++) + img.SetPixel(X+x, Y+y, c); + + } + + pictureBox1.Image = img.Bitmap; + } + } + } + + class MedianPixel + { + public MedianPixel(Color c) + { + Color = c; + Intensity = (c.R + c.B + c.G) / 3.0; + } + public double Intensity { get; set; } + public Color Color { get; set; } + } +} diff --git a/artem_labi/D1/D1/Form1.resx b/artem_labi/D1/D1/Form1.resx new file mode 100644 index 0000000..1af7de1 --- /dev/null +++ b/artem_labi/D1/D1/Form1.resx @@ -0,0 +1,120 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + text/microsoft-resx + + + 2.0 + + + System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + \ No newline at end of file diff --git a/artem_labi/D1/D1/Program.cs b/artem_labi/D1/D1/Program.cs new file mode 100644 index 0000000..10def35 --- /dev/null +++ b/artem_labi/D1/D1/Program.cs @@ -0,0 +1,22 @@ +using System; +using System.Collections.Generic; +using System.Linq; +using System.Threading.Tasks; +using System.Windows.Forms; + +namespace D1 +{ + static class Program + { + /// + /// Главная точка входа для приложения. + /// + [STAThread] + static void Main() + { + Application.EnableVisualStyles(); + Application.SetCompatibleTextRenderingDefault(false); + Application.Run(new Form1()); + } + } +} diff --git a/artem_labi/D1/D1/Properties/AssemblyInfo.cs b/artem_labi/D1/D1/Properties/AssemblyInfo.cs new file mode 100644 index 0000000..e3b628c --- /dev/null +++ b/artem_labi/D1/D1/Properties/AssemblyInfo.cs @@ -0,0 +1,36 @@ +using System.Reflection; +using System.Runtime.CompilerServices; +using System.Runtime.InteropServices; + +// Управление общими сведениями о сборке осуществляется с помощью +// набора атрибутов. Измените значения этих атрибутов, чтобы изменить сведения, +// связанные со сборкой. +[assembly: AssemblyTitle("D1")] +[assembly: AssemblyDescription("")] +[assembly: AssemblyConfiguration("")] +[assembly: AssemblyCompany("")] +[assembly: AssemblyProduct("D1")] +[assembly: AssemblyCopyright("Copyright © 2015")] +[assembly: AssemblyTrademark("")] +[assembly: AssemblyCulture("")] + +// Параметр ComVisible со значением FALSE делает типы в сборке невидимыми +// для COM-компонентов. Если требуется обратиться к типу в этой сборке через +// COM, задайте атрибуту ComVisible значение TRUE для этого типа. +[assembly: ComVisible(false)] + +// Следующий GUID служит для идентификации библиотеки типов, если этот проект будет видимым для COM +[assembly: Guid("4b9cb919-b208-46f3-bd3d-20c758ffd9d3")] + +// Сведения о версии сборки состоят из следующих четырех значений: +// +// Основной номер версии +// Дополнительный номер версии +// Номер сборки +// Редакция +// +// Можно задать все значения или принять номера сборки и редакции по умолчанию +// используя "*", как показано ниже: +// [assembly: AssemblyVersion("1.0.*")] +[assembly: AssemblyVersion("1.0.0.0")] +[assembly: AssemblyFileVersion("1.0.0.0")] diff --git a/artem_labi/D1/D1/Properties/Resources.Designer.cs b/artem_labi/D1/D1/Properties/Resources.Designer.cs new file mode 100644 index 0000000..b6f5fa9 --- /dev/null +++ b/artem_labi/D1/D1/Properties/Resources.Designer.cs @@ -0,0 +1,73 @@ +//------------------------------------------------------------------------------ +// +// Этот код создан программой. +// Исполняемая версия:4.0.30319.34014 +// +// Изменения в этом файле могут привести к неправильной работе и будут потеряны в случае +// повторной генерации кода. +// +//------------------------------------------------------------------------------ + +namespace D1.Properties { + using System; + + + /// + /// Класс ресурса со строгой типизацией для поиска локализованных строк и т.д. + /// + // Этот класс создан автоматически классом StronglyTypedResourceBuilder + // с помощью такого средства, как ResGen или Visual Studio. + // Чтобы добавить или удалить член, измените файл .ResX и снова запустите ResGen + // с параметром /str или перестройте свой проект VS. + [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Resources.Tools.StronglyTypedResourceBuilder", "4.0.0.0")] + [global::System.Diagnostics.DebuggerNonUserCodeAttribute()] + [global::System.Runtime.CompilerServices.CompilerGeneratedAttribute()] + internal class Resources { + + private static global::System.Resources.ResourceManager resourceMan; + + private static global::System.Globalization.CultureInfo resourceCulture; + + [global::System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1811:AvoidUncalledPrivateCode")] + internal Resources() { + } + + /// + /// Возвращает кэшированный экземпляр ResourceManager, использованный этим классом. + /// + [global::System.ComponentModel.EditorBrowsableAttribute(global::System.ComponentModel.EditorBrowsableState.Advanced)] + internal static global::System.Resources.ResourceManager ResourceManager { + get { + if (object.ReferenceEquals(resourceMan, null)) { + global::System.Resources.ResourceManager temp = new global::System.Resources.ResourceManager("D1.Properties.Resources", typeof(Resources).Assembly); + resourceMan = temp; + } + return resourceMan; + } + } + + /// + /// Перезаписывает свойство CurrentUICulture текущего потока для всех + /// обращений к ресурсу с помощью этого класса ресурса со строгой типизацией. + /// + [global::System.ComponentModel.EditorBrowsableAttribute(global::System.ComponentModel.EditorBrowsableState.Advanced)] + internal static global::System.Globalization.CultureInfo Culture { + get { + return resourceCulture; + } + set { + resourceCulture = value; + } + } + + /// + /// Поиск локализованного ресурса типа System.Drawing.Bitmap. + /// + internal static System.Drawing.Bitmap Lenna { + get { + object obj = ResourceManager.GetObject("Lenna", resourceCulture); + return ((System.Drawing.Bitmap)(obj)); + } + } + } +} diff --git a/artem_labi/D1/D1/Properties/Resources.resx b/artem_labi/D1/D1/Properties/Resources.resx new file mode 100644 index 0000000..923cbc6 --- /dev/null +++ b/artem_labi/D1/D1/Properties/Resources.resx @@ -0,0 +1,124 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + text/microsoft-resx + + + 2.0 + + + System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + + ..\Resources\Lenna.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + \ No newline at end of file diff --git a/artem_labi/D1/D1/Properties/Settings.Designer.cs b/artem_labi/D1/D1/Properties/Settings.Designer.cs new file mode 100644 index 0000000..a0d687c --- /dev/null +++ b/artem_labi/D1/D1/Properties/Settings.Designer.cs @@ -0,0 +1,30 @@ +//------------------------------------------------------------------------------ +// +// This code was generated by a tool. +// Runtime Version:4.0.30319.34014 +// +// Changes to this file may cause incorrect behavior and will be lost if +// the code is regenerated. +// +//------------------------------------------------------------------------------ + +namespace D1.Properties +{ + + + [global::System.Runtime.CompilerServices.CompilerGeneratedAttribute()] + [global::System.CodeDom.Compiler.GeneratedCodeAttribute("Microsoft.VisualStudio.Editors.SettingsDesigner.SettingsSingleFileGenerator", "11.0.0.0")] + internal sealed partial class Settings : global::System.Configuration.ApplicationSettingsBase + { + + private static Settings defaultInstance = ((Settings)(global::System.Configuration.ApplicationSettingsBase.Synchronized(new Settings()))); + + public static Settings Default + { + get + { + return defaultInstance; + } + } + } +} diff --git a/artem_labi/D1/D1/Properties/Settings.settings b/artem_labi/D1/D1/Properties/Settings.settings new file mode 100644 index 0000000..3964565 --- /dev/null +++ b/artem_labi/D1/D1/Properties/Settings.settings @@ -0,0 +1,7 @@ + + + + + + + diff --git a/artem_labi/D1/D1/Resources/Lenna.png b/artem_labi/D1/D1/Resources/Lenna.png new file mode 100644 index 0000000..59ef68a Binary files /dev/null and b/artem_labi/D1/D1/Resources/Lenna.png differ diff --git a/artem_labi/D1/D1/bin/Debug/D1.exe b/artem_labi/D1/D1/bin/Debug/D1.exe new file mode 100644 index 0000000..24edf94 Binary files /dev/null and b/artem_labi/D1/D1/bin/Debug/D1.exe differ diff --git a/artem_labi/D1/D1/bin/Debug/D1.exe.config b/artem_labi/D1/D1/bin/Debug/D1.exe.config new file mode 100644 index 0000000..8e15646 --- /dev/null +++ b/artem_labi/D1/D1/bin/Debug/D1.exe.config @@ -0,0 +1,6 @@ + + + + + + \ No newline at end of file diff --git a/artem_labi/D1/D1/bin/Debug/D1.pdb b/artem_labi/D1/D1/bin/Debug/D1.pdb new file mode 100644 index 0000000..a2c63d8 Binary files /dev/null and b/artem_labi/D1/D1/bin/Debug/D1.pdb differ diff --git a/artem_labi/D1/D1/bin/Debug/D1.vshost.exe b/artem_labi/D1/D1/bin/Debug/D1.vshost.exe new file mode 100644 index 0000000..666c0af Binary files /dev/null and b/artem_labi/D1/D1/bin/Debug/D1.vshost.exe differ diff --git a/artem_labi/D1/D1/bin/Debug/D1.vshost.exe.config b/artem_labi/D1/D1/bin/Debug/D1.vshost.exe.config new file mode 100644 index 0000000..8e15646 --- /dev/null +++ b/artem_labi/D1/D1/bin/Debug/D1.vshost.exe.config @@ -0,0 +1,6 @@ + + + + + + \ No newline at end of file diff --git a/artem_labi/D1/D1/bin/Debug/D1.vshost.exe.manifest b/artem_labi/D1/D1/bin/Debug/D1.vshost.exe.manifest new file mode 100644 index 0000000..061c9ca --- /dev/null +++ b/artem_labi/D1/D1/bin/Debug/D1.vshost.exe.manifest @@ -0,0 +1,11 @@ + + + + + + + + + + + diff --git a/artem_labi/D1/D1/obj/Debug/D1.Form1.resources b/artem_labi/D1/D1/obj/Debug/D1.Form1.resources new file mode 100644 index 0000000..6c05a97 Binary files /dev/null and b/artem_labi/D1/D1/obj/Debug/D1.Form1.resources differ diff --git a/artem_labi/D1/D1/obj/Debug/D1.Properties.Resources.resources b/artem_labi/D1/D1/obj/Debug/D1.Properties.Resources.resources new file mode 100644 index 0000000..d62c476 Binary files /dev/null and b/artem_labi/D1/D1/obj/Debug/D1.Properties.Resources.resources differ diff --git a/artem_labi/D1/D1/obj/Debug/D1.csproj.FileListAbsolute.txt b/artem_labi/D1/D1/obj/Debug/D1.csproj.FileListAbsolute.txt new file mode 100644 index 0000000..43d70f9 --- /dev/null +++ b/artem_labi/D1/D1/obj/Debug/D1.csproj.FileListAbsolute.txt @@ -0,0 +1,18 @@ +c:\users\student\documents\visual studio 2013\Projects\D1\D1\bin\Debug\D1.exe.config +c:\users\student\documents\visual studio 2013\Projects\D1\D1\obj\Debug\D1.csprojResolveAssemblyReference.cache +c:\users\student\documents\visual studio 2013\Projects\D1\D1\obj\Debug\D1.Properties.Resources.resources +c:\users\student\documents\visual studio 2013\Projects\D1\D1\obj\Debug\D1.csproj.GenerateResource.Cache +c:\users\student\documents\visual studio 2013\Projects\D1\D1\bin\Debug\D1.exe +c:\users\student\documents\visual studio 2013\Projects\D1\D1\bin\Debug\D1.pdb +c:\users\student\documents\visual studio 2013\Projects\D1\D1\obj\Debug\D1.exe +c:\users\student\documents\visual studio 2013\Projects\D1\D1\obj\Debug\D1.pdb +c:\users\student\documents\visual studio 2013\Projects\D1\D1\obj\Debug\D1.Form1.resources +C:\Users\Лёха\Desktop\D1\D1\bin\Debug\D1.exe.config +C:\Users\Лёха\Desktop\D1\D1\obj\Debug\D1.exe +C:\Users\Лёха\Desktop\D1\D1\obj\Debug\D1.pdb +C:\Users\Лёха\Desktop\D1\D1\bin\Debug\D1.exe +C:\Users\Лёха\Desktop\D1\D1\bin\Debug\D1.pdb +C:\Users\Лёха\Desktop\D1\D1\obj\Debug\D1.csprojResolveAssemblyReference.cache +C:\Users\Лёха\Desktop\D1\D1\obj\Debug\D1.Form1.resources +C:\Users\Лёха\Desktop\D1\D1\obj\Debug\D1.Properties.Resources.resources +C:\Users\Лёха\Desktop\D1\D1\obj\Debug\D1.csproj.GenerateResource.Cache diff --git a/artem_labi/D1/D1/obj/Debug/D1.csproj.GenerateResource.Cache b/artem_labi/D1/D1/obj/Debug/D1.csproj.GenerateResource.Cache new file mode 100644 index 0000000..f46e13c Binary files /dev/null and b/artem_labi/D1/D1/obj/Debug/D1.csproj.GenerateResource.Cache differ diff --git a/artem_labi/D1/D1/obj/Debug/D1.csprojResolveAssemblyReference.cache b/artem_labi/D1/D1/obj/Debug/D1.csprojResolveAssemblyReference.cache new file mode 100644 index 0000000..4c8fd25 Binary files /dev/null and b/artem_labi/D1/D1/obj/Debug/D1.csprojResolveAssemblyReference.cache differ diff --git a/artem_labi/D1/D1/obj/Debug/D1.exe b/artem_labi/D1/D1/obj/Debug/D1.exe new file mode 100644 index 0000000..24edf94 Binary files /dev/null and b/artem_labi/D1/D1/obj/Debug/D1.exe differ diff --git a/artem_labi/D1/D1/obj/Debug/D1.pdb b/artem_labi/D1/D1/obj/Debug/D1.pdb new file mode 100644 index 0000000..a2c63d8 Binary files /dev/null and b/artem_labi/D1/D1/obj/Debug/D1.pdb differ diff --git a/artem_labi/D1/D1/obj/Debug/DesignTimeResolveAssemblyReferences.cache b/artem_labi/D1/D1/obj/Debug/DesignTimeResolveAssemblyReferences.cache new file mode 100644 index 0000000..de4cc7c Binary files /dev/null and b/artem_labi/D1/D1/obj/Debug/DesignTimeResolveAssemblyReferences.cache differ diff --git a/artem_labi/D1/D1/obj/Debug/DesignTimeResolveAssemblyReferencesInput.cache b/artem_labi/D1/D1/obj/Debug/DesignTimeResolveAssemblyReferencesInput.cache new file mode 100644 index 0000000..0a60e40 Binary files /dev/null and b/artem_labi/D1/D1/obj/Debug/DesignTimeResolveAssemblyReferencesInput.cache differ diff --git a/artem_labi/D1/D1/obj/Debug/TempPE/Properties.Resources.Designer.cs.dll b/artem_labi/D1/D1/obj/Debug/TempPE/Properties.Resources.Designer.cs.dll new file mode 100644 index 0000000..e565ac4 Binary files /dev/null and b/artem_labi/D1/D1/obj/Debug/TempPE/Properties.Resources.Designer.cs.dll differ diff --git a/artem_labi/D1/D1/obj/Debug/TemporaryGeneratedFile_036C0B5B-1481-4323-8D20-8F5ADCB23D92.cs b/artem_labi/D1/D1/obj/Debug/TemporaryGeneratedFile_036C0B5B-1481-4323-8D20-8F5ADCB23D92.cs new file mode 100644 index 0000000..e69de29 diff --git a/artem_labi/D1/D1/obj/Debug/TemporaryGeneratedFile_5937a670-0e60-4077-877b-f7221da3dda1.cs b/artem_labi/D1/D1/obj/Debug/TemporaryGeneratedFile_5937a670-0e60-4077-877b-f7221da3dda1.cs new file mode 100644 index 0000000..e69de29 diff --git a/artem_labi/D1/D1/obj/Debug/TemporaryGeneratedFile_E7A71F73-0F8D-4B9B-B56E-8E70B10BC5D3.cs b/artem_labi/D1/D1/obj/Debug/TemporaryGeneratedFile_E7A71F73-0F8D-4B9B-B56E-8E70B10BC5D3.cs new file mode 100644 index 0000000..e69de29