ΠΊΠ°ΠΊ ΡΠΈΡΠΎΠ²Π°ΡΡ Π² windows forms c
ΠΠ°ΠΊ ΡΠΈΡΠΎΠ²Π°ΡΡ Π² windows forms c
Π£ΡΠΎΠΊΠΈ Windows Forms C++/C#
Π ΠΈΡΠΎΠ²Π°Π½ΠΈΠ΅ Π»ΠΈΠ½ΠΈΠΉ Π² PictureBox MVS C++/C#
Π ΡΡΠΎΠΌ ΡΡΠΎΠΊΠ΅ Π²Ρ ΠΏΡΠΈΡΡΡΠΏΠΈΡΠ΅ ΠΊ ΠΈΠ·ΡΡΠ΅Π½ΠΈΡ Π±Π°Π·ΠΎΠ²ΡΡ ΠΏΡΠΈΡΠΌΠΎΠ² ΡΠΈΡΠΎΠ²Π°Π½ΠΈΡ Π² «PictureBox». Π Π² Π΄Π°Π½Π½ΠΎΠΌ ΡΡΠΎΠΊΠ΅ Π±ΡΠ΄Π΅Ρ ΡΠ°ΡΡΠΌΠΎΡΡΠ΅Π½ΠΎ ΡΠΎ, ΠΊΠ°ΠΊ Π½Π°ΡΠΈΡΠΎΠ²Π°ΡΡ Π»ΠΈΠ½ΠΈΡ Π·Π°Π΄Π°Π½Π½ΠΎΠΉ Π΄Π»ΠΈΠ½Ρ, ΡΠ²Π΅ΡΠ° ΠΈ Π² Π·Π°Π΄Π°Π½Π½ΠΎΠΌ ΠΌΠ΅ΡΡΠ΅ ΠΏΠΎΠ»Ρ «PictureBox». ΠΠ»Ρ ΡΡΠΎΠ³ΠΎ Π½Π°ΠΌ ΠΏΠΎΠ½Π°Π΄ΠΎΠ±ΡΡΡΡ: 4 «textBox», 1 «button», ΠΈ ΠΊΠΎΠ½Π΅ΡΠ½ΠΎ ΠΆΠ΅ «PictureBox». ΠΡΠΈΠΌΠ΅ΡΠ½ΡΠΉ Π²ΠΈΠ΄ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ:
Π’ΠΎ, ΠΊΠ°ΠΊ ΠΈΠ·ΠΌΠ΅Π½ΠΈΡΡ ΡΠ²Π΅Ρ ΡΠΎΠ½Π° ΡΠ»Π΅ΠΌΠ΅Π½ΡΠ° (βPictureBoxβ) ΡΠ°ΡΡΠΌΠ°ΡΡΠΈΠ²Π°Π΅ΡΡΡ Π² ΡΡΠΎΠΌ ΡΡΠΎΠΊΠ΅. Π βtextBoxβΡ ΠΌΡ Π±ΡΠ΄Π΅ΠΌ Π·Π°ΠΏΠΈΡΡΠ²Π°ΡΡ Π½Π°ΡΠ°Π»ΡΠ½ΠΎΠ΅ ΠΈ ΠΊΠΎΠ½Π΅ΡΠ½ΠΎΠ΅ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅ ΠΊΠΎΠΎΡΠ΄ΠΈΠ½Π°Ρ ΠΏΠΎΠ»Ρ ΡΠΈΡΠΎΠ²Π°Π½ΠΈΡ: Π΄Π²Π΅ ΠΊΠΎΠΎΡΠ΄ΠΈΠ½Π°ΡΡ β ΠΎΠ΄Π½Π° ΡΠΎΡΠΊΠ°, Π΅ΡΡ Π΄Π²Π΅ ΠΊΠΎΠΎΡΠ΄ΠΈΠ½Π°ΡΡ β Π΅ΡΡ ΠΎΠ΄Π½Π° ΡΠΎΡΠΊΠ°, ΠΊΠΎΡΠΎΡΠ°Ρ ΡΠΎΠ΅Π΄ΠΈΠ½ΡΠ΅ΡΡΡ Ρ ΠΏΡΠ΅Π΄ΡΠ΄ΡΡΠ΅ΠΉ, ΠΎΠ±ΡΠ°Π·ΡΡ ΠΎΡΡΠ΅Π·ΠΎΠΊ, Π·Π°Π΄Π°Π½Π½ΠΎΠ³ΠΎ Π² ΠΊΠΎΠ΄Π΅ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ ΡΠ²Π΅ΡΠ°. ΠΠ½Π°ΡΠ΅Π½ΠΈΠ΅ ΠΊΠ°ΠΆΠ΄ΠΎΠΉ ΠΊΠΎΠΎΡΠ΄ΠΈΠ½Π°ΡΡ, ΠΏΠΎΠ»ΡΡΠ°Π΅ΠΌΠΎΠ΅ ΠΈΠ· ΡΠ΅ΠΊΡΡΠΎΠ²ΠΎΠ³ΠΎ ΠΏΠΎΠ»Ρ, ΠΌΡ Π±ΡΠ΄Π΅ΠΌ ΠΊΠΎΠ½Π²Π΅ΡΡΠΈΡΠΎΠ²Π°ΡΡ Π² «int»—Convert::ToInt32(textBox1->Text); Π Π΄Π»Ρ Ρ ΡΠ°Π½Π΅Π½ΠΈΡ Π·Π½Π°ΡΠ΅Π½ΠΈΡ ΡΠΎΠ·Π΄Π°ΡΡΡΡ ΠΌΠ°ΡΡΠΈΠ², Π΅Π³ΠΎ Π½ΡΠΆΠ½ΠΎ ΠΎΠ±ΡΡΠ²ΠΈΡΡ Π² Π²Π΅ΡΡ Ρ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ: int m_p[4];
#pragma endregion private: System::Void Form1_Load(System::Object^ sender, System::EventArgs^ e) < this->Text = «Π ΠΈΡΡΠ΅ΠΌ ΠΠΈΠ½ΠΈΡ»; button1->Text = «Π ΠΈΡΠΎΠ²Π°ΡΡ»; > private: System::Void button1_Click(System::Object^ sender, System::EventArgs^ e) < m_p[1] = Convert::ToInt32(textBox1->Text); m_p[2] = Convert::ToInt32(textBox2->Text); m_p[3] = Convert::ToInt32(textBox3->Text); m_p[4] = Convert::ToInt32(textBox4->Text); pictureBox1->Refresh(); > private: System::Void pictureBox1_Paint(System::Object^ sender, System::Windows::Forms::PaintEventArgs^ e) < // Π ΠΈΡΡΠ΅ΠΌ Π»ΠΈΠ½ΠΈΡ e->Graphics->DrawLine(System::Drawing::Pens::Green, m_p[1], m_p[2], m_p[3], m_p[4]); > >; >
Π Π΅Π·ΡΠ»ΡΡΠ°Ρ: Π‘Π»Π΅Π΄ΡΡΡΠΈΠΉ ΡΡΠΎΠΊ >>
ΠΡΠΈΠΌΠ΅Ρ ΡΠΈΡΠΎΠ²Π°Π½ΠΈΡ Π² C#. Β«ΠΠΎΡΠ°Π±Π»ΠΈΠΊΒ»
ΠΠ°ΡΠΈΡΡΠ΅ΠΌ ΠΊΠΎΡΠ°Π±Π»Ρ, Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ, ΡΠ°ΠΊΠΎΠΉ:
ΠΠ°ΡΠΈ Π΄Π΅ΠΉΡΡΠ²ΠΈΡ:
1) Π‘ΠΎΠ·Π΄Π°ΠΉΡΠ΅ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ Windows Forms, namespace = Β«ΠΠΎΡΠ°Π±Π»ΠΈΠΊΒ».
2) Π Π°Π·ΠΌΠ΅Ρ ΡΠΎΡΠΌΡ Π·Π°Π΄Π°ΠΉΡΠ΅ 900Ρ
500, Π½Π° Π½Π΅ΠΉ ΡΠ°Π·ΠΌΠ΅ΡΡΠΈΡΠ΅ Π²ΠΈΠ·ΡΠ°Π»ΡΠ½ΡΠΉ ΠΎΠ±ΡΠ΅ΠΊΡ Π΄Π»Ρ ΡΠΈΡΠΎΠ²Π°Π½ΠΈΡ pictureBox1, ΠΈΠ·ΠΌΠ΅Π½ΠΈΡΠ΅ Π΅Π³ΠΎ ΡΠ²ΠΎΠΉΡΡΠ²ΠΎ Dock = Fill; (ΠΎΠ½ Π·Π°ΠΉΠΌΠ΅Ρ Π²ΡΠ΅ ΠΏΡΠΎΡΡΡΠ°Π½ΡΡΠ²ΠΎ ΡΠΎΡΠΌΡ).
3) ΠΠ»ΠΈΠΊΠ½ΡΠ² Π½Π° ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½ΡΠ΅, Π²Ρ ΡΠΎΠ·Π΄Π°Π΄ΠΈΡΠ΅ ΡΠΎΠ±ΡΡΠΈΠ΅ pictureBox1.Click ΠΈ ΡΠΎΡΠΌΡ Π΄Π»Ρ ΠΌΠ΅ΡΠΎΠ΄Π° ΠΎΠ±ΡΠ°Π±ΠΎΡΠΊΠΈ ΡΡΠΎΠ³ΠΎ ΡΠΎΠ±ΡΡΠΈΡ pictureBox1_Click ();
4) ΠΠ΅ Π·Π°Π±ΡΠ΄ΡΡΠ΅ Π΄ΠΎΠ±Π°Π²ΠΈΡΡ Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΡ System.Drawing. ΠΠ΅Π½ΡΠΆΠ½ΡΠ΅ Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠΈ ΠΌΠΎΠΆΠ½ΠΎ ΡΠ΄Π°Π»ΠΈΡΡ (Π½ΡΠΆΠ½Ρ Π²ΡΠ΅Π³ΠΎ ΡΡΠΈ: System, System.Windows.Forms ΠΈ System.Drawing).
5) Π ΠΎΠΊΠ½Π΅ ΠΊΠΎΠ΄Π° ΡΠ°ΠΉΠ»Π° Form1.cs ΠΏΠΎΠ»ΡΡΠΈΡΠ΅ ΡΠ»Π΅Π΄ΡΡΡΠΈΠΉ ΡΠ΅ΠΊΡΡ:
Π’Π΅ΠΏΠ΅ΡΡ Π½Π°ΠΌ ΠΎΡΡΠ°Π»ΠΎΡΡ ΡΠΎΠ»ΡΠΊΠΎ Π½Π°ΠΏΠΈΡΠ°ΡΡ ΠΎΠ±ΡΠ°Π±ΠΎΡΡΠΈΠΊ ΡΠΎΠ±ΡΡΠΈΡ, Π΄ΠΎΠ±Π°Π²Π»Π΅Π½Π½ΡΠΉ Π½Π°ΠΌΠΈ ΠΌΠ΅ΡΠΎΠ΄ pictureBox1_Click ( ), Π΄Π»Ρ ΡΠ΅Π³ΠΎ Π²ΡΡΠ°Π²ΠΈΠΌ ΡΠ»Π΅Π΄ΡΡΡΠΈΠ΅ ΠΎΠΏΠ΅ΡΠ°ΡΠΎΡΡ Ρ ΠΊΠΎΠΌΠΌΠ΅Π½ΡΠ°ΡΠΈΡΠΌΠΈ:
Π ΡΡΠΎΠΌ ΠΏΡΠΈΠΌΠ΅ΡΠ΅ ΠΌΡ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π»ΠΈ ΠΌΠ΅ΡΠΎΠ΄Ρ ΠΊΠ»Π°ΡΡΠ° Graphics: FillRectangle(), FillPolygon(), FillPie() ΠΈ DrawEllipse(). ΠΠ°ΠΉΠ΄ΠΈΡΠ΅ ΠΈΡ
Π² ΡΠ°Π±Π»ΠΈΡΠ΅ ΠΏΡΠ΅Π΄ΡΠ΄ΡΡΠ΅ΠΉ ΡΡΠ°ΡΡΠΈ. ΠΡΠΎΠΌΠ΅ ΡΠΎΠ³ΠΎ ΠΌΡ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΠΌ ΡΡΡΡΠΊΡΡΡΡ Point; oΠ±ΡΠ΅ΠΊΡΡ-ΠΊΠΈΡΡΠΈ ΠΊΠ»Π°ΡΡΠ° SolidBrush; ΠΎΠ±ΡΠ΅ΠΊΡ-ΠΏΠ΅ΡΠΎ ΠΊΠ»Π°ΡΡΠ° Pen. ΠΠ»Ρ ΡΠΈΡΠΎΠ²Π°Π½ΠΈΡ Π²ΠΎΠ»Π½ ΠΌΠΎΡΡ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π»ΡΡ ΡΠΈΠΊΠ» while, Π΄Π»Ρ ΠΈΠ»Π»ΡΠΌΠΈΠ½Π°ΡΠΎΡΠΎΠ² β ΡΠΈΠΊΠ» for. ΠΠΎΠ»ΠΈΠ³ΠΎΠ½ Π·Π°Π΄Π°Π΅ΡΡΡ ΠΌΠ°ΡΡΠΈΠ²ΠΎΠΌ ΡΠΎΡΠ΅ΠΊ Π΄Π»Ρ ΡΠΎΠ΅Π΄ΠΈΠ½Π΅Π½ΠΈΡ ΠΈΡ
ΡΠΏΠ»ΠΎΡΠ½ΠΎΠΉ Π»ΠΎΠΌΠ°Π½ΠΎΠΉ.
Π Π²ΡΠ΅, ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ ΠΌΠΎΠΆΠ½ΠΎ ΠΏΡΠΎΠ²Π΅ΡΡΡΡ. ΠΠ»ΠΈΠΊΠ½ΡΠ² Π² ΠΎΠΊΠ½Π΅, ΡΠΌΠΎΠΆΠ΅ΠΌ ΡΠ²ΠΈΠ΄Π΅ΡΡ Π½Π°Ρ ΠΊΠΎΡΠ°Π±Π»ΠΈΠΊ:
4 ΠΊΠΎΠΌΠΌΠ΅Π½ΡΠ°ΡΠΈΡ ΠΊ βΠΡΠΈΠΌΠ΅Ρ ΡΠΈΡΠΎΠ²Π°Π½ΠΈΡ Π² C#. Β«ΠΠΎΡΠ°Π±Π»ΠΈΠΊΒ»β
ΡΡΠΎ Π΄Π΅Π»Π°Π΅ΡΡΡ ΡΠ΅ΡΠ΅Π· ΠΊΠ»Π°ΡΡ?
ΠΠ°. ΠΠ±ΡΠ΅ΠΊΡ g ΠΊΠ»Π°ΡΡΠ° Graphics ΠΎΠ±ΡΡΠ²Π»ΡΠ΅ΡΡΡ Π² ΠΌΠ΅ΡΠΎΠ΄Π΅ pictureBox1_Click(), ΠΊΠΎΡΠΎΡΡΠΉ Π² ΡΠ²ΠΎΡ ΠΎΡΠ΅ΡΠ΅Π΄Ρ Π·Π°Π΄Π°Π½ ΠΊΠ°ΠΊ ΠΌΠ΅ΡΠΎΠ΄ Form1.
Π ΠΈΡΠΎΠ²Π°Π½ΠΈΠ΅ (ΠΏΠΎΡΠ»Π΅ ΠΊΠ»ΠΈΠΊΠ° Π½Π° pictureBox1) ΡΠΎΡΡΠΎΠΈΡ Π² Π²ΡΠ·ΠΎΠ²Π΅ ΠΌΠ΅ΡΠΎΠ΄ΠΎΠ² ΠΊΠ»Π°ΡΡΠ° Graphics.
Π ΡΡΠΎ Π·Π° namespace = Β«ΠΠΎΡΠ°Π±Π»ΠΈΠΊΒ».
ΠΠΌΡ ΠΌΠΎΠΆΠ΅Ρ Π±ΡΡΡ Π»ΡΠ±ΠΎΠ΅, Π΄Π°ΠΆΠ΅ Π·Π°ΠΏΠΈΡΠ°Π½Π½ΠΎΠ΅ ΡΡΡΡΠΊΠΈΠΌΠΈ Π±ΡΠΊΠ²Π°ΠΌΠΈ. ΠΡ, ΠΊΠΎΠ³Π΄Π° ΡΠΎΠ·Π΄Π°Π΅ΡΠ΅ ΠΏΡΠΎΠ΅ΠΊΡ ΠΈ Π²ΡΠ±ΠΈΡΠ°Π΅ΡΠ΅ Π΅Π³ΠΎ ΡΠ°Π±Π»ΠΎΠ½, Π² ΠΎΠΊΠ½Π΅ Β«ΠΠ°ΡΡΡΠΎΠΈΡΡ Π½ΠΎΠ²ΡΠΉ ΠΏΡΠΎΠ΅ΠΊΡΒ» Π²ΠΌΠ΅ΡΡΠΎ ΠΈΠΌΠ΅Π½ΠΈ ΠΏΠΎ ΡΠΌΠΎΠ»ΡΠ°Π½ΠΈΡ WindowsFormsApp1 (ΠΈΠ»ΠΈ ΠΏΠΎΠ΄ΠΎΠ±Π½ΠΎΠ³ΠΎ) Π½Π°ΠΏΠΈΡΠΈΡΠ΅ Π»ΡΠ±ΠΎΠ΅ Π΄ΡΡΠ³ΠΎΠ΅ Π΄ΠΎΠΏΡΡΡΠΈΠΌΠΎΠ΅ ΠΈΠΌΡ, Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ, ΠΠΊΠ΅Π°Π½ΡΠΊΠΈΠΉ_Π»Π°ΠΉΠ½Π΅Ρ, ΠΈΠ·ΠΌΠ΅Π½ΠΈΡΠ΅, Π΅ΡΠ»ΠΈ Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΠΎ, ΠΏΡΡΡ ΠΊ ΠΠ°ΡΠ΅ΠΌΡ ΠΏΡΠΎΠ΅ΠΊΡΡ, ΠΈ Π½Π°ΠΆΠΌΠΈΡΠ΅ ΠΊΠ½ΠΎΠΏΠΊΡ Β«Π‘ΠΎΠ·Π΄Π°ΡΡΒ» (ΠΏΡΠΎΠ΅ΠΊΡ). ΠΠ΅ΡΡ ΠΠ°Ρ ΠΏΡΠΎΠ΅ΠΊΡ ΡΠ΅ΠΏΠ΅ΡΡ Π±ΡΠ΄Π΅Ρ Π² ΠΏΠ°ΠΏΠΊΠ΅ ΠΠΊΠ΅Π°Π½ΡΠΊΠΈΠΉ_Π»Π°ΠΉΠ½Π΅Ρ. ΠΡΠΌΠ°Ρ, ΡΡΠΎ ΡΡΠΎ ΡΠ΄ΠΎΠ±Π½ΠΎ. Π― ΡΠ°ΡΠ΅ ΠΈΠΌΡ ΠΏΡΠΎΡΡΡΠ°Π½ΡΡΠ²Π° ΠΈΠΌΠ΅Π½ Π·Π°Π΄Π°Ρ Π΄Π²ΡΠΌΡ-ΡΡΠ΅ΠΌΡ Π°Π½Π³Π»ΠΈΠΉΡΠΊΠΈΠΌΠΈ ΡΠ»ΠΎΠ²Π°ΠΌΠΈ, Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ Ocean_Liner. Π’ΠΎ Π΅ΡΡΡ Ρ ΠΠ°Ρ ΠΏΠΎΠ»Π½Π°Ρ ΡΠ²ΠΎΠ±ΠΎΠ΄Π° Π²ΡΠ±ΠΎΡΠ°, ΠΏΠΈΡΠΈΡΠ΅, ΠΊΠ°ΠΊ ΠΠ°ΠΌ ΡΠ΄ΠΎΠ±Π½ΠΎ, Π²Π°ΠΆΠ½ΠΎ, ΡΡΠΎΠ±Ρ Π½ΠΎΠ²ΡΠ΅ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½ΡΡ ΠΏΡΠΎΠ΅ΠΊΡΠ° Π½Π°Ρ ΠΎΠ΄ΠΈΠ»ΠΈΡΡ Π² ΡΡΠΎΠΌ namespace ΠΈΠ»ΠΈ Π±ΡΠ»ΠΈ ΠΏΠΎΠ΄ΠΊΠ»ΡΡΠ΅Π½Ρ ΡΠ΅ΡΠ΅Π· Π΄ΠΈΡΠ΅ΠΊΡΠΈΠ²Ρ using (ΠΊΠ°ΠΊ System ΠΈ Π΄ΡΡΠ³ΠΈΠ΅).
Π ΠΈΡΠΎΠ²Π°Π½ΠΈΠ΅ Π² Form Π³Π΅ΠΎΠΌΠ΅ΡΡΠΈΡΠ΅ΡΠΊΠΈΡ ΡΠΈΠ³ΡΡ
ΠΡΠΆΠ½ΠΎ Π½Π°ΡΠΈΡΠΎΠ²Π°ΡΡ Π² Form Π³Π΅ΠΎΠΌΠ΅ΡΡΠΈΡΠ΅ΡΠΊΡΡ ΡΠΈΠ³ΡΡΡ. Π― Π΄ΡΠΌΠ°Ρ ΡΡΠΎ ΡΠΈΡΠΎΠ²Π°ΡΡ Π½ΡΠΆΠ½ΠΎ Π½Π° ΠΊΠ°ΠΊΠΎΠΌ-ΡΠΎ ΠΎΠ±ΡΠ΅ΠΊΡΠ΅ Ρ Π²Π·ΡΠ» PictureBox ΠΈ ΠΏΠΎΠΏΡΡΠ°Π»ΡΡ ΡΠΈΡΠΎΠ²Π°ΡΡ Π½Π° Π½Π΅ΠΌ, Π½ΠΎ Π²ΡΡΠ»ΠΈ ΠΎΡΠΈΠ±ΠΊΠΈ, ΠΌΠΎΠΆΠ΅Ρ Ρ ΡΡΠΎ-ΡΠΎ Π½Π΅ ΡΠ°ΠΊ ΡΠ΄Π΅Π»Π°Π» ΠΈ Π΅ΡΡΡ Π΄ΡΡΠ³ΠΈΠ΅ ΠΎΠ±ΡΠ΅ΠΊΡΡ Π΄Π»Ρ ΡΠΈΡΠΎΠ²Π°Π½ΠΈΡ Π½Π° Π½ΠΈΡ ? Π Π΅ΡΠ΅ ΠΏΠΎΡΠ»Π΅ ΡΠΎΠ³ΠΎ ΠΊΠ°ΠΊ Ρ Π½Π°ΡΠΈΡΠΎΠ²Π°Π» ΠΏΡΠΎΠ±Π½ΡΡ Π»ΠΈΠ½ΠΈΡ ΠΎΠ½Π° ΡΠ΅ΡΠ΅Π· Π½Π΅ΡΠΊΠΎΠ»ΡΠΊΠΎ ΡΠ΅ΠΊΡΠ½Π΄ ΠΈΡΡΠ΅Π·Π»Π°, ΠΊΠ°ΠΊ ΡΠ΄Π΅Π»Π°ΡΡ ΡΡΠΎΠ±Ρ Π½Π°ΡΠΈΡΠΎΠ²Π°Π½Π½ΡΠΉ ΠΎΠ±ΡΠ΅ΠΊΡ Π½Π΅ ΠΈΡΡΠ΅Π·Π°Π».
Π ΠΈΡΠΎΠ²Π°Π½ΠΈΠ΅ Π³Π΅ΠΎΠΌΠ΅ΡΡΠΈΡΠ΅ΡΠΊΠΈΡ
ΡΠΈΠ³ΡΡ
ΠΊΠ°ΠΊ ΡΠ΅Π°Π»ΠΈΠ·ΠΎΠ²Π°ΡΡ ΡΡΡ Π³Π΅ΠΎΠΌΠ΅ΡΡΠΈΡΠ΅ΡΠΊΡΡ ΡΠΈΠ³ΡΡΡ?
Π ΠΈΡΠΎΠ²Π°Π½ΠΈΠ΅ Π³Π΅ΠΎΠΌΠ΅ΡΡΠΈΡΠ΅ΡΠΊΠΈΡ
ΡΠΈΠ³ΡΡ ΡΠΎΠ»ΡΡΠΎΠΉ Π»ΠΈΠ½ΠΈΠ΅ΠΉ
ΠΠΎΠ±ΡΡΠΉ Π΄Π΅Π½Ρ, ΡΠ²Π°ΠΆΠ°Π΅ΠΌΡΠ΅ ΠΊΠΎΠ»Π»Π΅Π³ΠΈ. Π ΠΈΡΡΡ Π΄ΠΎΡΠΎΠΆΠ½ΡΠ΅ Π·Π½Π°ΠΊΠΈ Π² ΠΌΠ°Π»Π΅Π½ΡΠΊΠΎΠΌ ΡΠ°Π·ΡΠ΅ΡΠ΅Π½ΠΈΠΈ ΠΈ ΡΡΠΎΠ»ΠΊΠ½ΡΠ»ΡΡ ΡΠΎ.
ΠΠΏΡΠ΅Π΄Π΅Π»Π΅Π½ΠΈΠ΅ Π³Π΅ΠΎΠΌΠ΅ΡΡΠΈΡΠ΅ΡΠΊΠΈΡ
ΡΠΈΠ³ΡΡ Π½Π° ΠΊΠ°ΡΡΠΈΠ½ΠΊΠ΅
ΠΠΎΠ±ΡΡΠΉ Π΄Π΅Π½Ρ. ΠΠΎΠ΄ΡΠΊΠ°ΠΆΠΈΡΠ΅ Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΡ ΠΊΠΎΡΠΎΡΠ°Ρ ΡΠΏΠΎΡΠΎΠ±Π½Π° Π½Π°Ρ
ΠΎΠ΄ΠΈΡΡ ΠΎΠΏΡΠ΅Π΄Π΅Π»ΡΠ½Π½ΡΠ΅ Π³Π΅ΠΎΠΌΠ΅ΡΡΠΈΡΠ΅ΡΠΊΠΈΠ΅ ΡΠΈΠ³ΡΡΡ.
ΠΡΠΈΠ²ΠΎΠΆΡ ΠΊΠΎΠ΄ ΠΏΠΎΡΡΡΠΎΠ΅Π½ΠΈΡ, Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ, ΡΠ»Π»ΠΈΠΏΡΠ°. ΠΠ½Π°Π»ΠΎΠ³ΠΈΡΠ½ΠΎ ΠΌΠΎΠΆΠ½ΠΎ ΡΡΡΠΎΠΈΡΡ ΠΏΡΡΠΌΠΎΡΠ³ΠΎΠ»ΡΠ½ΠΈΠΊΠΈ, ΠΌΠ½ΠΎΠ³ΠΎΡΠ³ΠΎΠ»ΡΠ½ΠΈΠΊΠΈ ΠΈ ΠΏΡ.
Π‘Π»ΡΡΠ°ΠΉΡΠ΅ ViterAlex, ΠΎΠ½ Π΄Π΅Π»ΠΎ Π³ΠΎΠ²ΠΎΡΠΈΡ
ΠΡΠΈΠ±ΠΊΠ° Π² ΡΠ²ΠΎΠ΅ΠΌ ΠΊΠΎΠ΄Π΅, ΡΡΠΎ Π½Π΅ ΡΠΊΠ°Π·Π°Π½Π° ΡΠΎΠ»ΡΠΈΠ½Π° Π»ΠΈΠ½ΠΈΠΈ.
Π‘Π΅ΠΉΡΠ°Ρ Π½ΠΈΡΠ΅Π³ΠΎ Π½Π΅ ΠΈΡΡΠ΅Π·Π½Π΅Ρ.
ΠΠ° ΡΠΎΡΠΌΠ΅ ΡΠΎΠ»ΡΠΊΠΎ PictureBox ΠΈ ΠΊΠ½ΠΎΠΏΠΊΠ°
ΠΠΎΠ±Π°Π²Π»Π΅Π½ΠΎ ΡΠ΅ΡΠ΅Π· 1 ΠΌΠΈΠ½ΡΡΡ
ΠΠ° Ρ ΠΌΠ΅Π½Ρ ΠΊΡΡΡΠΎΠ²Π°Ρ Π° ΡΠ°ΠΌ ΠΊΠ½ΠΎΠΏΠΊΠΈ Π½Π° ΡΠ΅ΡΠΎΠΌ ΡΠΎΠ½Π΅ ΠΈ Π±Π΅Π»ΡΠΉ ΡΠΊΡΠ°Π½ΡΠΈΠΊ Π½Π° ΠΊΠΎΡΠΎΡΠΎΠΌ ΠΏΡΠΎΠΈΡΡ ΠΎΠ΄ΠΈΡ ΡΠΈΡΠΎΠ²Π°Π½ΠΈΠ΅. ΠΠΎΠ½Π΅ΡΠ½ΠΎ ΠΌΠΎΠΆΠ½ΠΎ Π² ΡΠ²ΠΎΠΉΡΡΠ²Π°Ρ PictureBox Π·Π°Π΄Π°ΡΡ Π±Π΅Π»ΡΠΉ ΡΠ²Π΅Ρ, Π½ΠΎ Ρ ΠΎΡΠ΅Π» Π²ΡΠ΅ ΠΏΠΎ ΡΠΌΠ½ΠΎΠΌΡ ΡΠ΄Π΅Π»Π°ΡΡ, ΠΏΡΠ°Π²ΠΈΠ»ΡΠ½ΠΎ, ΡΡΠΎΠ±Ρ ΠΊΠΎΠ΄ΠΎΠΌ Π° Π½Π΅ Π½Π°ΡΡΡΠΎΠΉΠΊΠ°ΠΌΠΈ ΡΠ²Π΅Ρ ΡΡΡΠ°Π½Π°Π²Π»ΠΈΠ²Π°Π»ΡΡ.
ΠΠΎΠ±Π°Π²Π»Π΅Π½ΠΎ ΡΠ΅ΡΠ΅Π· 3 ΠΌΠΈΠ½ΡΡΡ
Π― ΠΏΠΎΠ½ΠΈΠΌΠ°Ρ ΡΡΠΎ ΡΠΈΡΡΡ Π½Π° ΡΠΎΡΠΌΠ΅, Π½ΠΎ Π΄Π»Ρ Π½Π°ΡΠ°Π»Π° Ρ Ρ
ΠΎΡΠ΅Π» ΠΏΡΠΎΡΡΠΎ ΠΈΠ·ΠΎΠ±ΡΠ°ΠΆΠ΅Π½ΠΈΠ΅ Π·Π°Π³ΡΡΠ·ΠΈΡΡ ΠΈ Π½Π΅ ΠΏΠΎΠ»ΡΡΠΈΠ»ΠΎΡΡ.
ΠΠ²ΠΈΠΆΠ΅Π½ΠΈΠ΅ ΠΌΠΎΠΆΠ½ΠΎ ΡΠΎΠ·Π΄Π°ΡΡ ΠΈ Π½Π° ΡΠΎΡΠΌΠ΅ Π·Π°Π»ΠΈΠ²Π°Ρ ΠΎΠ΄Π½Ρ ΠΊΠ°ΡΡΠΈΠ½ΠΊΡ ΠΏΠΎΠ²Π΅ΡΡ Π΄ΡΡΠ³ΠΎΠΉ.
ΠΠΎΡΠ΅ΠΌΡ ΡΡΠΎΡ ΠΊΠΎΠ΄ Π½Π΅ ΡΠ°Π±ΠΎΡΠ°Π΅Ρ?
ΠΠΎΠ½ΡΠ΅ΠΉΠ½Π΅Ρ Π΄Π»Ρ Π³Π΅ΠΎΠΌΠ΅ΡΡΠΈΡΠ΅ΡΠΊΠΈΡ
ΡΠΈΠ³ΡΡ
ΠΠΎΠ±ΡΠΎΠ³ΠΎ Π²ΡΠ΅ΠΌΠ΅Π½ΠΈ ΡΡΡΠΎΠΊ, Π½Π΅ΠΎΠ±Ρ
ΠΎΠ΄ΠΈΠΌΠΎ ΡΠΎΠ·Π΄Π°ΡΡ ΠΎΠ΄Π½ΠΎΠ½Π°ΠΏΡΠ°Π²Π»Π΅Π½Π½ΡΠΉ Π»ΠΈΠ±ΠΎ Π΄Π²ΡΠ½Π°ΠΏΡΠ°Π²Π»Π΅Π½Π½ΡΠΉ ΡΠΏΠΈΡΠΎΠΊ.
ΠΠΎΠΌΠΎΡΡ Π² ΠΏΠΎΡΡΡΠΎΠ΅Π½ΠΈΠ΅ ΡΠΈΡΡΠ½ΠΊΠΎΠ² Π³Π΅ΠΎΠΌΠ΅ΡΡΠΈΡΠ΅ΡΠΊΠΈΡ
ΡΠΈΠ³ΡΡ
ΠΡΠ΅ΠΌ ΠΏΡΠΈΠ²Π΅Ρ! ΠΠΎΠΌΠΎΠ³ΠΈΡΠ΅ ΡΠΎΡΡΠ°Π²ΠΈΡΡ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ ΠΊΠΎΡΠΎΡΠ°Ρ ΠΏΡΠΈ Π½Π°ΠΆΠ°ΡΠΈΠΈ Π½Π° ΠΊΠ½ΠΎΠΏΠΊΡ ΡΡΡΠΎΠΈΡ ΠΎΡΡΠ΅Π·ΠΎΠΊ ΠΏΠΎ Π·Π°ΡΠ°Π½Π΅Π΅.
ΠΠΎΠ½ΡΡΡΡΠΊΡΠΎΡ Π΄Π»Ρ ΡΠΎΠ·Π΄Π°Π½ΠΈΡ Π³Π΅ΠΎΠΌΠ΅ΡΡΠΈΡΠ΅ΡΠΊΠΈΡ
ΡΠΈΠ³ΡΡ
ΠΠΎΠΆΠ½ΠΎ Π»ΠΈ ΠΎΠ±ΡΠ°ΡΠΈΡΡΡΡ ΠΊ ΡΠ΅Π»ΠΎΠΌΡ ΠΎΠ±ΡΠ΅ΠΊΡΡ, ΡΠΎΠ·Π΄Π°Π½Π½ΠΎΠΌΡ Π² ΠΊΠΎΠ½ΡΡΡΡΠΊΡΠΎΡΠ΅? Π Π°Π½ΡΡΠ΅ Ρ ΡΠΎΠ·Π΄Π°Π²Π°Π»Π° ΠΊΠΎΠ»ΡΡΠΎ ΠΈΠ· 3.
ΠΠ²ΡΠΌΠ΅ΡΠ½Π°Ρ Π³ΡΠ°ΡΠΈΠΊΠ° Π½Π° C#, ΠΊΠ»Π°ΡΡΡ Graphics, Pen ΠΈ Brush
ΠΠ° ΠΏΡΠΈΠΌΠ΅ΡΠ΅ Π³ΡΠ°ΡΠΈΠΊΠΈ Π½Π°Π³Π»ΡΠ΄Π½ΠΎ Π²ΠΈΠ΄Π½Ρ ΠΏΡΠ΅ΠΈΠΌΡΡΠ΅ΡΡΠ²Π° ΠΠΠ, ΡΠΌΡΡΠ» ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΡ ΠΊΠ»Π°ΡΡΠΎΠ², ΠΈΡ ΠΌΠ΅ΡΠΎΠ΄ΠΎΠ² ΠΈ ΡΠ²ΠΎΠΉΡΡΠ². ΠΠΎΠ±Π°Π²Π»ΡΡ Π² ΠΏΡΠΎΡΡΡΠ°Π½ΡΡΠ²ΠΎ ΠΈΠΌΠ΅Π½ ΡΠ²ΠΎΠ΅Π³ΠΎ ΠΏΡΠΎΠ΅ΠΊΡΠ° ΡΠΎΠΎΡΠ²Π΅ΡΡΡΠ²ΡΡΡΠΈΠ΅ Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠΈ, Π²Ρ ΠΏΠΎΠ»ΡΡΠ°Π΅ΡΠ΅ ΡΡΠ°Π·Ρ Π½Π°Π±ΠΎΡ ΠΈΠ½ΡΡΡΡΠΌΠ΅Π½ΡΠΎΠ², Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΡΡ Π΄Π»Ρ Π³ΡΠ°ΡΠΈΠΊΠΈ. ΠΡΠΎ Π³ΡΠ°ΡΠΈΡΠ΅ΡΠΊΠΈΠ΅ ΠΏΡΠΈΠΌΠΈΡΠΈΠ²Ρ (Π»ΠΈΠ½ΠΈΠΈ, ΠΏΡΡΠΌΠΎΡΠ³ΠΎΠ»ΡΠ½ΠΈΠΊΠΈ, ΡΠ»Π»ΠΈΠΏΡΡ ΠΈ Ρ.ΠΏ.), ΠΏΠ΅ΡΠΎ Π΄Π»Ρ ΡΠ΅ΡΡΠ΅Π½ΠΈΡ, ΠΊΠΈΡΡΡ Π΄Π»Ρ Π·Π°ΠΊΡΠ°ΡΠΊΠΈ ΠΈ ΠΌΠ½ΠΎΠ³ΠΎ Π΄ΡΡΠ³ΠΈΡ ΠΏΠΎΠ»Π΅Π·Π½ΡΡ ΠΎΠ±ΡΠ΅ΠΊΡΠΎΠ² ΠΈ ΠΌΠ΅ΡΠΎΠ΄ΠΎΠ².
2D-Π³ΡΠ°ΡΠΈΠΊΠ° Π΄Π΅Π»ΠΈΡΡΡ, ΠΊΠ°ΠΊ Π²Ρ Π·Π½Π°Π΅ΡΠ΅, Π½Π° ΡΠ°ΡΡΡΠΎΠ²ΡΡ ΠΈ Π²Π΅ΠΊΡΠΎΡΠ½ΡΡ. Π Π°ΡΡΡΠΎΠ²ΠΎΠ΅ ΠΈΠ·ΠΎΠ±ΡΠ°ΠΆΠ΅Π½ΠΈΠ΅ β ΡΡΠΎ Π½Π°Π±ΠΎΡ ΡΠ²Π΅ΡΠ½ΡΡ ΠΏΠΈΠΊΡΠ΅Π»Π΅ΠΉ, Π·Π°Π΄Π°Π½Π½ΡΡ Π² ΠΏΡΡΠΌΠΎΡΠ³ΠΎΠ»ΡΠ½ΠΎΠΉ ΠΎΠ±Π»Π°ΡΡΠΈ, Ρ ΡΠ°Π½ΡΡΠΈΡ ΡΡ Π² ΡΠ°ΠΉΠ»Π°Ρ *.bmp, *.jpg, *.png ΠΈ Ρ.ΠΏ. Π‘Π°ΠΌΡΠΉ ΠΏΡΠΎΡΡΠΎΠΉ ΡΠ°ΡΡΡΠΎΠ²ΡΠΉ ΡΠ΅Π΄Π°ΠΊΡΠΎΡ β ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠ° Paint. ΠΠ΅ΠΊΡΠΎΡΠ½Π°Ρ Π³ΡΠ°ΡΠΈΠΊΠ° Π½Π°ΠΌΠ½ΠΎΠ³ΠΎ ΡΠΊΠΎΠ½ΠΎΠΌΠ½Π΅Π΅ (ΠΏΠΎ ΠΎΠ±ΡΠ΅ΠΌΠ°ΠΌ ΠΏΠ°ΠΌΡΡΠΈ) ΡΠ°ΡΡΡΠΎΠ²ΠΎΠΉ. Π’Π°ΠΊ Π΄Π»Ρ ΡΠΈΡΠΎΠ²Π°Π½ΠΈΡ ΠΏΡΡΠΌΠΎΡΠ³ΠΎΠ»ΡΠ½ΠΈΠΊΠ° Π΄ΠΎΡΡΠ°ΡΠΎΡΠ½ΠΎ Π·Π°Π΄Π°ΡΡ ΠΊΠΎΠΎΡΠ΄ΠΈΠ½Π°ΡΡ Π΄Π²ΡΡ ΡΠΎΡΠ΅ΠΊ (Π»Π΅Π²ΠΎΠ³ΠΎ Π²Π΅ΡΡ Π½Π΅Π³ΠΎ ΠΈ ΠΏΡΠ°Π²ΠΎΠ³ΠΎ Π½ΠΈΠΆΠ½Π΅Π³ΠΎ ΡΠ³Π»ΠΎΠ²) ΠΈ ΡΠ²Π΅Ρ ΠΈ ΡΠΎΠ»ΡΠΈΠ½Ρ Π»ΠΈΠ½ΠΈΠΈ. Π ΡΡΠΎΠΌ ΡΠ°Π·Π΄Π΅Π»Π΅ Π² ΠΎΡΠ½ΠΎΠ²Π½ΠΎΠΌ ΡΠ°ΡΡΠΌΠΎΡΡΠΈΠΌ ΠΌΠ΅ΡΠΎΠ΄Ρ Π²Π΅ΠΊΡΠΎΡΠ½ΠΎΠΉ Π³ΡΠ°ΡΠΈΠΊΠΈ.
ΠΠ»Π°ΡΡ Graphics ΠΏΡΠ΅Π΄ΠΎΡΡΠ°Π²Π»ΡΠ΅Ρ ΠΌΠ΅ΡΠΎΠ΄Ρ ΡΠΈΡΠΎΠ²Π°Π½ΠΈΡ Π½Π° ΡΡΡΡΠΎΠΉΡΡΠ²Π΅ ΠΎΡΠΎΠ±ΡΠ°ΠΆΠ΅Π½ΠΈΡ (Π΄ΡΡΠ³ΠΈΠ΅ ΡΠ΅ΡΠΌΠΈΠ½Ρ β Π³ΡΠ°ΡΠΈΡΠ΅ΡΠΊΠΈΠΉ ΠΊΠΎΠ½ΡΠ΅ΠΊΡΡ, Β«Ρ ΠΎΠ»ΡΡΒ»). ΠΠΏΡΠ΅Π΄Π΅Π»ΠΈΠΌΡΡ ΡΡΠ°Π·Ρ, Π½Π° ΡΠ΅ΠΌ ΠΌΡ Ρ ΠΎΡΠΈΠΌ ΡΠΈΡΠΎΠ²Π°ΡΡ. ΠΠ°Π»Π΅Π΅ Π² ΠΏΡΠΈΠΌΠ΅ΡΠ°Ρ ΠΎΠ½ ΠΎΠ±ΠΎΠ·Π½Π°ΡΠ°Π΅ΡΡΡ ΠΊΠ°ΠΊ ΠΎΠ±ΡΠ΅ΠΊΡ g.
Π‘ΠΏΠΎΡΠΎΠ±Ρ Π·Π°Π΄Π°Π½ΠΈΡ Β«Ρ ΠΎΠ»ΡΡΠ°Β»
1. ΠΡΠ°ΡΠΈΡΠ΅ΡΠΊΠΈΠΉ ΠΎΠ±ΡΠ΅ΠΊΡ β Β«Ρ
ΠΎΠ»ΡΡΒ» Π΄Π»Ρ ΡΠΈΡΠΎΠ²Π°Π½ΠΈΡ Π½Π° ΡΠΎΡΠΌΠ΅ Form1 (ΡΠΊΠ°Π·Π°ΡΠ΅Π»Ρ this) ΠΌΠΎΠΆΠ½ΠΎ Π·Π°Π΄Π°ΡΡ, Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ, ΠΎΠ΄Π½ΠΈΠΌ ΠΎΠΏΠ΅ΡΠ°ΡΠΎΡΠΎΠΌ:
Graphics g = this.CreateGraphics();
ΠΡΠΈΠΌΠ΅ΡΠ°Π½ΠΈΠ΅. ΠΠ°ΠΌΠ΅ΡΠΈΠΌ, ΡΡΠΎ ΡΡΠ°Π½Π΄Π°ΡΡΠ½ΡΠΌ ΠΎΠ±ΡΠ°Π·ΠΎΠΌ
Graphics g = new Graphics();
ΡΠΎΠ·Π΄Π°ΡΡ ΠΎΠ±ΡΠ΅ΠΊΡ-Ρ
ΠΎΠ»ΡΡ Π½Π΅ ΡΠ΄Π°Π΅ΡΡΡ.
ΠΠ° ΡΡΠΎΠΌ ΠΎΠΏΠ΅ΡΠ°ΡΠΎΡΠ΅ Π³Π΅Π½Π΅ΡΠΈΡΡΠ΅ΡΡΡ ΠΎΡΠΈΠ±ΠΊΠ°:
ΠΠ»Ρ ΡΠΈΠΏΠ° Β«System.Drawing.GraphicsΒ» Π½Π΅ ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½ ΠΊΠΎΠ½ΡΡΡΡΠΊΡΠΎΡ.
2. ΠΡΠ΅ ΠΏΡΠΈΠΌΠ΅Ρ Π·Π°Π΄Π°Π½ΠΈΡ Π³ΡΠ°ΡΠΈΡΠ΅ΡΠΊΠΎΠ³ΠΎ ΠΊΠΎΠ½ΡΠ΅ΠΊΡΡΠ° Π½Π° Π²ΠΈΠ·ΡΠ°Π»ΡΠ½ΠΎΠΌ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½ΡΠ΅ PictureBox (ΡΡΠΈΠΊ Π΄Π»Ρ ΡΠΈΡΠΎΠ²Π°Π½ΠΈΡ) ΡΠ΅ΡΠ΅Π· ΡΠ°ΡΡΡΠΎΠ²ΡΠΉ ΠΎΠ±ΡΠ΅ΠΊΡ ΠΊΠ»Π°ΡΡΠ° Bitmap. Π ΠΊΠ»Π°ΡΡΠ΅ Form1 Π·Π°Π΄Π°Π΄ΠΈΠΌ Π΄Π²Π° ΠΎΠ±ΡΠ΅ΠΊΡΠ°:
Graphics g; // Π³ΡΠ°ΡΠΈΡΠ΅ΡΠΊΠΈΠΉ ΠΎΠ±ΡΠ΅ΠΊΡ β Π½Π΅ΠΊΠΈΠΉ Ρ
ΠΎΠ»ΡΡ
Bitmap buf; // Π±ΡΡΠ΅Ρ Π΄Π»Ρ Bitmap-ΠΈΠ·ΠΎΠ±ΡΠ°ΠΆΠ΅Π½ΠΈΡ
Π ΠΊΠΎΠ½ΡΡΡΡΠΊΡΠΎΡ Form1() Π΄ΠΎΠ±Π°Π²ΠΈΠΌ ΡΠ»Π΅Π΄ΡΡΡΠΈΠ΅ ΠΎΠΏΠ΅ΡΠ°ΡΠΎΡΡ:
buf = new Bitmap(pictureBox1.Width, pictureBox1.Height); // Ρ ΡΠ°Π·ΠΌΠ΅ΡΠ°ΠΌΠΈ
g = Graphics.FromImage(buf); // ΠΈΠ½ΠΈΡΠΈΠ°Π»ΠΈΠ·Π°ΡΠΈΡ g
3. Π ΠΏΡΠΈΠ½ΡΠΈΠΏΠ΅, ΠΈΠ½ΠΎΠ³Π΄Π° (Π΅ΡΠ»ΠΈ Π²ΡΠ΅ Π³ΡΠ°ΡΠΈΡΠ΅ΡΠΊΠΈΠ΅ ΠΎΠΏΠ΅ΡΠ°ΡΠΈΠΈ Π²ΡΠΏΠΎΠ»Π½ΡΡΡΡΡ Π²Π½ΡΡΡΠΈ ΠΎΠ΄Π½ΠΎΠΉ ΡΡΠ½ΠΊΡΠΈΠΈ) ΡΡΠΈ ΡΠ΅ΡΡΡΠ΅ ΡΡΡΠΎΠΊΠΈ ΠΌΠΎΠ³ΡΡ Π±ΡΡΡ Π·Π°ΠΌΠ΅Π½Π΅Π½Ρ ΠΎΠ΄Π½ΠΎΠΉ ΡΡΡΠΎΠΊΠΎΠΉ:
Graphics g = Graphics.FromImage(new Bitmap(pictureBox1.Width, pictureBox1.Height));
ΠΠΎΡΠ»Π΅ ΡΡΠΎΠ³ΠΎ ΠΌΠΎΠΆΠ½ΠΎ Π·Π°Π΄Π°ΡΡ ΡΠΎΠ½ Ρ
ΠΎΠ»ΡΡΠ° Π±Π΅Π»ΡΠΌ:
g.Clear(Color.White);
4. ΠΡΠ΅ ΠΎΠ΄ΠΈΠ½ ΠΏΡΠΈΠΌΠ΅Ρ Π·Π°Π΄Π°Π½ΠΈΡ Β«Ρ
ΠΎΠ»ΡΡΠ°Β» Π½Π° ΡΠΎΡΠΌΠ΅ ΡΠ΅ΡΠ΅Π· Π΄Π΅ΡΠΊΡΠΈΠΏΡΠΎΡ ΠΎΠΊΠ½Π°:
Graphics g = Graphics.FromHwnd(this.Handle);
ΠΠ°Π»Π΅Π΅ Π² ΠΏΡΠΈΠΌΠ΅ΡΠ°Ρ
ΠΊΠΎΠ½ΠΊΡΠ΅ΡΠΈΠ·ΠΈΡΡΡΡΡΡ ΡΡΠΈ ΡΠΏΠΎΡΠΎΠ±Ρ.
ΠΠ±ΡΠ΅ΠΊΡΡ Π΄ΡΡΠ³ΠΈΡ ΠΊΠ»Π°ΡΡΠΎΠ² ΠΈΠ· Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠΈ System.Drawing
Π’Π°ΠΊΠΈΠ΅ ΠΊΠ»Π°ΡΡΡ, ΠΊΠ°ΠΊ Rectangle (ΠΏΡΡΠΌΠΎΡΠ³ΠΎΠ»ΡΠ½ΠΈΠΊ) ΠΈ Point (ΡΠΎΡΠΊΠ°) ΠΈΠ½ΠΊΠ°ΠΏΡΡΠ»ΠΈΡΡΡΡ ΡΠ»Π΅ΠΌΠ΅Π½ΡΡ GDI+. ΠΡΠΌΠ΅ΡΠΈΠΌ, ΡΡΠΎ Point Π²ΠΎΠΎΠ±ΡΠ΅ ΡΠΎ ΡΠ²Π»ΡΠ΅ΡΡΡ ΡΡΡΡΠΊΡΡΡΠΎΠΉ (struct) Ρ ΠΏΠΎΠ»ΡΠΌΠΈ x,y. ΠΡΠΎ ΡΡΠΎΡΠ½Π΅Π½ΠΈΠ΅ Π½Π΅ΡΡΡΠ΅ΡΡΠ²Π΅Π½Π½ΠΎ, ΡΠ°ΠΊ ΠΊΠ°ΠΊ Π² C# ΡΡΡΡΠΊΡΡΡΡ ΠΏΠΎΡ
ΠΎΠΆΠΈ Π½Π° ΠΊΠ»Π°ΡΡΡ, a ΠΈΠ½ΠΈΡΠΈΠ°Π»ΠΈΠ·Π°ΡΠΈΡ ΠΎΠ±ΡΠ΅ΠΊΡΠ°-ΡΡΡΡΠΊΡΡΡΡ point ΠΌΠΎΠΆΠ΅Ρ Π²ΡΠ³Π»ΡΠ΄Π΅ΡΡ ΡΠ°ΠΊ ΠΆΠ΅, ΠΊΠ°ΠΊ ΠΈΠ½ΠΈΡΠΈΠ°Π»ΠΈΠ·Π°ΡΠΈΡ ΠΎΠ±ΡΠ΅ΠΊΡΠ°-ΠΊΠ»Π°ΡΡΠ°:
Point point= new Point();
ΠΠ»Π°ΡΡ Pen (ΠΏΠ΅ΡΠΎ) ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΡΡΡ Π΄Π»Ρ ΡΠΈΡΠΎΠ²Π°Π½ΠΈΡ Π»ΠΈΠ½ΠΈΠΉ ΠΈ ΠΊΡΠΈΠ²ΡΡ , Π° ΠΊΠ»Π°ΡΡΡ, ΠΏΡΠΎΠΈΠ·Π²ΠΎΠ΄Π½ΡΠ΅ ΠΎΡ ΠΊΠ»Π°ΡΡΠ° Brush (ΠΊΠΈΡΡΡ) ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΡΡΡΡ Π΄Π»Ρ Π·Π°ΠΊΡΠ°ΡΠΊΠΈ Π·Π°ΠΌΠΊΠ½ΡΡΡΡ ΠΊΠΎΠ½ΡΡΡΠΎΠ² (ΡΠΌ. Π½ΠΈΠΆΠ΅).
ΠΠ»Π°ΡΡ GraphicsPath ΠΏΠΎΠ·Π²ΠΎΠ»ΡΠ΅Ρ Π·Π°Π΄Π°Π²Π°ΡΡ ΠΏΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°ΡΠ΅Π»ΡΠ½ΠΎΡΡΡ ΡΠΎΠ΅Π΄ΠΈΠ½Π΅Π½Π½ΡΡ Π»ΠΈΠ½ΠΈΠΉ ΠΈ ΠΊΡΠΈΠ²ΡΡ , ΠΊΠ»Π°ΡΡ Region ΠΎΠΏΠΈΡΡΠ²Π°Π΅Ρ Π²Π½ΡΡΡΠ΅Π½Π½ΡΡ ΡΠ°ΡΡΡ Π³ΡΠ°ΡΠΈΡΠ΅ΡΠΊΠΎΠΉ ΡΠΎΡΠΌΡ, ΡΠΎΡΡΠΎΡΡΠ΅ΠΉ ΠΈΠ· ΠΌΠ½ΠΎΠ³ΠΎΡΠ³ΠΎΠ»ΡΠ½ΠΈΠΊΠΎΠ² ΠΈ ΠΊΠΎΠ½ΡΡΡΠΎΠ².
ΠΠ»Π°ΡΡ Image β Π°Π±ΡΡΡΠ°ΠΊΡΠ½ΡΠΉ Π±Π°Π·ΠΎΠ²ΡΠΉ ΠΊΠ»Π°ΡΡ ΠΏΡΠ΅Π΄ΠΎΡΡΠ°Π²Π»ΡΠ΅Ρ ΡΡΠ½ΠΊΡΠΈΠΎΠ½Π°Π»ΡΠ½ΡΠ΅ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΠΈ Π΄Π»Ρ ΠΏΡΠΎΠΈΠ·Π²ΠΎΠ΄Π½ΡΡ ΠΊΠ»Π°ΡΡΠΎΠ² Bitmap ΠΈ Metafile. Bitmap ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΡΡΡ Π΄Π»Ρ ΡΠ°Π±ΠΎΡΡ Ρ ΠΏΠΈΠΊΡΠ΅Π»ΡΠ½ΡΠΌΠΈ ΠΈΠ·ΠΎΠ±ΡΠ°ΠΆΠ΅Π½ΠΈΡΠΌΠΈ (ΡΠΌ. Π²ΡΡΠ΅ ΠΏΡΠΈΠΌΠ΅Ρ). Metafile ΠΎΠΏΡΠ΅Π΄Π΅Π»ΡΠ΅Ρ Π³ΡΠ°ΡΠΈΡΠ΅ΡΠΊΠΈΠΉ ΠΌΠ΅ΡΠ°ΡΠ°ΠΉΠ», ΡΠΎΠ΄Π΅ΡΠΆΠ°ΡΠΈΠΉ Π·Π°ΠΏΠΈΡΠΈ, ΠΎΠΏΠΈΡΡΠ²Π°ΡΡΠΈΠ΅ ΠΏΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°ΡΠ΅Π»ΡΠ½ΠΎΡΡΡ Π³ΡΠ°ΡΠΈΡΠ΅ΡΠΊΠΈΡ ΠΎΠΏΠ΅ΡΠ°ΡΠΈΠΉ, ΠΊΠΎΡΠΎΡΡΠ΅ ΠΌΠΎΠ³ΡΡ Π±ΡΡΡ Π·Π°ΠΏΠΈΡΠ°Π½Ρ (ΡΠΎΠ·Π΄Π°Π½Ρ) ΠΈ Π²ΠΎΡΠΏΡΠΎΠΈΠ·Π²Π΅Π΄Π΅Π½Ρ (ΠΎΡΠΎΠ±ΡΠ°ΠΆΠ°Π΅ΡΡΡ). ΠΡΠΎΡ ΠΊΠ»Π°ΡΡ Π½Π΅ Π½Π°ΡΠ»Π΅Π΄ΡΠ΅ΡΡΡ.
ΠΠ»Π°ΡΡ Graphics
ΠΠ½ ΠΈΠ½ΠΊΠ°ΠΏΡΡΠ»ΠΈΡΡΠ΅Ρ ΠΏΠΎΠ²Π΅ΡΡ
Π½ΠΎΡΡΡ ΡΠΈΡΠΎΠ²Π°Π½ΠΈΡ GDI+. ΠΡΠΎΡ ΠΊΠ»Π°ΡΡ Π½Π΅ Π½Π°ΡΠ»Π΅Π΄ΡΠ΅ΡΡΡ. ΠΠ΅ΡΠΎΠ΄ΠΎΠ² Π² ΡΡΠΎΠΌ ΠΊΠ»Π°ΡΡΠ΅ ΠΎΠ³ΡΠΎΠΌΠ½ΠΎΠ΅ ΠΊΠΎΠ»ΠΈΡΠ΅ΡΡΠ²ΠΎ, ΠΏΠΎΡΡΠΎΠΌΡ ΡΠ½Π°ΡΠ°Π»Π° ΠΏΡΠ΅Π΄ΡΡΠ°Π²ΠΈΠΌ ΠΈΡ
Π² ΡΠ°Π±Π»ΠΈΡΠ΅, Π° Π·Π°ΡΠ΅ΠΌ ΡΠ°ΡΡΠΌΠΎΡΡΠΈΠΌ Π½Π΅ΠΊΠΎΡΠΎΡΡΠ΅ ΠΈΠ· Π½ΠΈΡ
Ρ ΠΏΡΠΈΠΌΠ΅ΡΠ°ΠΌΠΈ ΠΈ ΠΏΠΎΡΡΠ½Π΅Π½ΠΈΡΠΌΠΈ.
Π ΡΡΠ΅ΡΡΠ΅ΠΌ ΡΡΠΎΠ»Π±ΡΠ΅ ΡΠ°Π±Π»ΠΈΡΡ ΡΠΊΠ°Π·ΡΠ²Π°Π΅ΡΡΡ ΡΠΈΡΠ»ΠΎ ΠΏΠ΅ΡΠ΅Π³ΡΡΠ·ΠΎΠΊ ΠΌΠ΅ΡΠΎΠ΄Π°, ΡΠ°Π·Π»ΠΈΡΠ°ΡΡΠΈΡ
ΡΡ Π½Π°Π±ΠΎΡΠΎΠΌ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΠΎΠ² (ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠΉΡΠ΅ ΠΈΠ½ΡΠ΅Π»Π»Π΅ΠΊΡΡΠ°Π»ΡΠ½ΡΡ ΠΏΠΎΠ΄ΡΠΊΠ°Π·ΠΊΡ IntelliSense Π΄Π»Ρ Π²ΡΠ±ΠΎΡΠ° Π½ΡΠΆΠ½ΠΎΠ³ΠΎ ΠΠ°ΠΌ Π²Π°ΡΠΈΠ°Π½ΡΠ° ΠΌΠ΅ΡΠΎΠ΄Π°).
ΠΠΌΡ ΠΌΠ΅ΡΠΎΠ΄Π° | ΠΠΏΠΈΡΠ°Π½ΠΈΠ΅ | Π§ΠΈΡΠ»ΠΎ ΠΏΠ΅ΡΠ΅Π³ΡΡΠ·ΠΎΠΊ |
Clear(Color) | ΠΡΠΈΡΠ°Π΅Ρ Π²ΡΡ ΠΏΠΎΠ²Π΅ΡΡ Π½ΠΎΡΡΡ ΡΠΈΡΠΎΠ²Π°Π½ΠΈΡ ΠΈ Π²ΡΠΏΠΎΠ»Π½ΡΠ΅Ρ Π·Π°Π»ΠΈΠ²ΠΊΡ ΠΏΠΎΠ²Π΅ΡΡ Π½ΠΎΡΡΠΈ ΡΠΊΠ°Π·Π°Π½Π½ΡΠΌ ΡΠ²Π΅ΡΠΎΠΌ ΡΠΎΠ½Π°. | 1 |
CopyFromScreen(Point, Point, Size) | ΠΡΠΏΠΎΠ»Π½ΡΠ΅Ρ ΠΏΠ΅ΡΠ΅Π΄Π°ΡΡ Π΄Π°Π½Π½ΡΡ ΠΎ ΡΠ²Π΅ΡΠ΅, ΡΠΎΠΎΡΠ²Π΅ΡΡΡΠ²ΡΡΡΠΈΡ ΠΏΡΡΠΌΠΎΡΠ³ΠΎΠ»ΡΠ½ΠΎΠΉ ΠΎΠ±Π»Π°ΡΡΠΈ ΠΏΠΈΠΊΡΠ΅Π»Π΅ΠΉ, Π±Π»ΠΎΠΊΠ°ΠΌΠΈ Π±ΠΈΡΠΎΠ² Ρ ΡΠΊΡΠ°Π½Π° Π½Π° ΠΏΠΎΠ²Π΅ΡΡ Π½ΠΎΡΡΡ ΡΠΈΡΠΎΠ²Π°Π½ΠΈΡ ΠΎΠ±ΡΠ΅ΠΊΡΠ° Graphics. | 4 |
Dispose() | ΠΡΠ²ΠΎΠ±ΠΎΠΆΠ΄Π°Π΅Ρ Π²ΡΠ΅ ΡΠ΅ΡΡΡΡΡ, ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΠΌΡΠ΅ Π΄Π°Π½Π½ΡΠΌ ΠΎΠ±ΡΠ΅ΠΊΡΠΎΠΌ Graphics. | 1 |
DrawArc(Pen, Rectangle, Single, Single) | Π ΠΈΡΡΠ΅Ρ Π΄ΡΠ³Ρ, ΠΊΠΎΡΠΎΡΠ°Ρ ΡΠ²Π»ΡΠ΅ΡΡΡ ΡΠ°ΡΡΡΡ ΡΠ»Π»ΠΈΠΏΡΠ°, Π·Π°Π΄Π°Π½Π½ΠΎΠ³ΠΎ ΡΡΡΡΠΊΡΡΡΠΎΠΉ Rectangle. | 4 |
DrawBezier(Pen, Point, Point, Point, Point) | Π ΠΈΡΡΠ΅Ρ ΠΊΡΠΈΠ²ΡΡ ΠΠ΅Π·ΡΠ΅, ΠΎΠΏΡΠ΅Π΄Π΅Π»ΡΠ΅ΠΌΡΡ ΡΠ΅ΡΡΡΡΠΌΡ ΡΡΡΡΠΊΡΡΡΠ°ΠΌΠΈ Point. | 3 |
DrawBeziers(Pen, Point[]) | Π ΠΈΡΡΠ΅Ρ Π½Π΅ΡΠΊΠΎΠ»ΡΠΊΠΎ (N) ΠΊΡΠΈΠ²ΡΡ ΠΠ΅Π·ΡΠ΅, ΠΎΠΏΡΠ΅Π΄Π΅Π»ΡΠ΅ΠΌΡΡ ΠΌΠ°ΡΡΠΈΠ²ΠΎΠΌ ΠΈΠ· (3N+1) ΡΡΡΡΠΊΡΡΡ Point. | 2 |
DrawCloseCurve(Pen, Point[ ]) | Π ΠΈΡΡΠ΅Ρ Π·Π°ΠΌΠΊΠ½ΡΡΡΠΉ ΡΡΠ½Π΄Π°ΠΌΠ΅Π½ΡΠ°Π»ΡΠ½ΡΠΉ ΡΠΏΠ»Π°ΠΉΠ½ | 4 |
DrawEllipse(Pen, Rectangle) | Π ΠΈΡΡΠ΅Ρ ΡΠ»Π»ΠΈΠΏΡ | 4 |
DrawIcon(Icon, Rectangle) | Π ΠΈΡΡΠ΅Ρ Π·Π½Π°ΡΠΎΠΊ | 2 |
DrawImage(Image image, int x, int y) | Π ΠΈΡΡΠ΅Ρ Π·Π°Π΄Π°Π½Π½ΠΎΠ΅ ΠΈΠ·ΠΎΠ±ΡΠ°ΠΆΠ΅Π½ΠΈΠ΅ image, ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΡ Π΅Π³ΠΎ ΡΠ°ΠΊΡΠΈΡΠ΅ΡΠΊΠΈΠΉ ΡΠ°Π·ΠΌΠ΅Ρ Π² ΠΌΠ΅ΡΡΠ΅ Ρ ΠΊΠΎΠΎΡΠ΄ΠΈΠ½Π°ΡΠ°ΠΌΠΈ (x,y) | 30 |
DrawLine(Pen, Point, Point) | ΠΡΠΎΠ²ΠΎΠ΄ΠΈΡ Π»ΠΈΠ½ΠΈΡ, ΡΠΎΠ΅Π΄ΠΈΠ½ΡΡΡΡΡ Π΄Π²Π΅ ΡΡΡΡΠΊΡΡΡΡ Point. | 4 |
DrawLines(Pen, Point[ ]) | Π ΠΈΡΡΠ΅Ρ Π½Π°Π±ΠΎΡ ΡΠ΅Π³ΠΌΠ΅Π½ΡΠΎΠ² Π»ΠΈΠ½ΠΈΠΉ, ΠΊΠΎΡΠΎΡΡΠ΅ ΡΠΎΠ΅Π΄ΠΈΠ½ΡΡΡ ΠΌΠ°ΡΡΠΈΠ² ΡΡΡΡΠΊΡΡΡ Point. | 2 |
DrawPath(Pen, gp) | Π ΠΈΡΡΠ΅Ρ ΠΏΠ΅ΡΠΎΠΌ Pen ΠΎΠ±ΡΠ΅ΠΊΡ GraphicsPath gp. | 1 |
DrawPie(Pen, Rectangle, Single, Single) | Π ΠΈΡΡΠ΅Ρ ΡΠ΅ΠΊΡΠΎΡ, ΠΊΠΎΡΠΎΡΡΠΉ ΠΎΠΏΡΠ΅Π΄Π΅Π»ΡΠ΅ΡΡΡ ΡΠ»Π»ΠΈΠΏΡΠΎΠΌ, Π·Π°Π΄Π°Π½Π½ΡΠΌ ΡΡΡΡΠΊΡΡΡΠΎΠΉ Rectangle ΠΈ Π΄Π²ΡΠΌΡ ΡΠ°Π΄ΠΈΠ°Π»tΡΠ½ΡΠΌΠΈ Π»ΠΈΠ½ΠΈΡΠΌΠΈ. | 4 |
DrawPolygon(Pen, Point[]) | Π ΠΈΡΡΠ΅Ρ ΠΌΠ½ΠΎΠ³ΠΎΡΠ³ΠΎΠ»ΡΠ½ΠΈΠΊ, ΠΎΠΏΡΠ΅Π΄Π΅Π»ΡΠ΅ΠΌΡΠΉ ΠΌΠ°ΡΡΠΈΠ²ΠΎΠΌ ΡΡΡΡΠΊΡΡΡ Point. | 2 |
DrawRectangle(Pen, Rectangle) | Π ΠΈΡΡΠ΅Ρ ΠΏΡΡΠΌΠΎΡΠ³ΠΎΠ»ΡΠ½ΠΈΠΊ, ΠΎΠΏΡΠ΅Π΄Π΅Π»ΡΠ΅ΠΌΡΠΉ ΡΡΡΡΠΊΡΡΡΠΎΠΉ Rectangle. | 3 |
DrawRectangles(Pen, Rectangle[]) | Π ΠΈΡΡΠ΅Ρ Π½Π°Π±ΠΎΡ ΠΏΡΡΠΌΠΎΡΠ³ΠΎΠ»ΡΠ½ΠΈΠΊΠΎΠ², ΠΎΠΏΡΠ΅Π΄Π΅Π»ΡΠ΅ΠΌΡΡ ΡΡΡΡΠΊΡΡΡΠ°ΠΌΠΈ Rectangle. | 2 |
DrawString(String, Font, Brush, PointF) | Π‘ΠΎΠ·Π΄Π°Π΅Ρ ΡΠΊΠ°Π·ΡΠ²Π°Π΅ΠΌΡΡ ΡΠ΅ΠΊΡΡΠΎΠ²ΡΡ ΡΡΡΠΎΠΊΡ Π² Π·Π°Π΄Π°Π½Π½ΠΎΠΌ ΠΌΠ΅ΡΡΠ΅ Ρ ΠΏΠΎΠΌΠΎΡΡΡ ΠΎΠΏΡΠ΅Π΄Π΅Π»ΡΠ΅ΠΌΡΡ ΠΎΠ±ΡΠ΅ΠΊΡΠΎΠ² Brush ΠΈ Font. | 6 |
Equals(Object) | ΠΠΏΡΠ΅Π΄Π΅Π»ΡΠ΅Ρ, ΡΠ°Π²Π΅Π½ Π»ΠΈ Π·Π°Π΄Π°Π½Π½ΡΠΉ ΠΎΠ±ΡΠ΅ΠΊΡ ΡΠ΅ΠΊΡΡΠ΅ΠΌΡ ΠΎΠ±ΡΠ΅ΠΊΡΡ. (Π£Π½Π°ΡΠ»Π΅Π΄ΠΎΠ²Π°Π½ΠΎ ΠΎΡ Object.) | 1 |
ExcludeClip(Rectangle) | ΠΠ±Π½ΠΎΠ²Π»ΡΠ΅Ρ Π²ΡΡΠ΅Π·Π°Π½Π½ΡΡ ΠΎΠ±Π»Π°ΡΡΡ Π΄Π°Π½Π½ΠΎΠ³ΠΎ ΠΎΠ±ΡΠ΅ΠΊΡΠ° Graphics, ΡΡΠΎΠ±Ρ ΠΈΡΠΊΠ»ΡΡΠΈΡΡ ΠΈΠ· Π½Π΅Π΅ ΡΠ°ΡΡΡ, ΠΎΠΏΡΠ΅Π΄Π΅Π»ΡΠ΅ΠΌΡΡ ΡΡΡΡΠΊΡΡΡΠΎΠΉ Rectangle. | 1 |
ExcludeClip(Region) | ΠΠ±Π½ΠΎΠ²Π»ΡΠ΅Ρ Π²ΡΡΠ΅Π·Π°Π½Π½ΡΡ ΠΎΠ±Π»Π°ΡΡΡ Π΄Π°Π½Π½ΠΎΠ³ΠΎ ΠΎΠ±ΡΠ΅ΠΊΡΠ° Graphics, ΡΡΠΎΠ±Ρ ΠΈΡΠΊΠ»ΡΡΠΈΡΡ ΠΈΠ· Π½Π΅Π΅ ΡΠ°ΡΡΡ, ΠΎΠΏΡΠ΅Π΄Π΅Π»ΡΠ΅ΠΌΡΡ ΡΡΡΡΠΊΡΡΡΠΎΠΉ Region. | 1 |
FillClosedCurve(Brush, Point[]) | ΠΠ°ΠΏΠΎΠ»Π½ΡΠ΅Ρ Π²Π½ΡΡΡΠ΅Π½Π½ΡΡ ΡΠ°ΡΡΡ Π·Π°ΠΌΠΊΠ½ΡΡΠΎΠΉ ΡΡΠ½Π΄Π°ΠΌΠ΅Π½ΡΠ°Π»ΡΠ½ΠΎΠΉ ΠΊΡΠΈΠ²ΠΎΠΉ, ΠΎΠΏΡΠ΅Π΄Π΅Π»ΡΠ΅ΠΌΠΎΠΉ ΠΌΠ°ΡΡΠΈΠ²ΠΎΠΌ ΡΡΡΡΠΊΡΡΡ Point. | 6 |
FillEllipse(Brush, Rectangle) | ΠΠ°ΠΏΠΎΠ»Π½ΡΠ΅Ρ Π²Π½ΡΡΡΠ΅Π½Π½ΡΡ ΡΠ°ΡΡΡ ΡΠ»Π»ΠΈΠΏΡΠ°, ΠΎΠΏΡΠ΅Π΄Π΅Π»ΡΠ΅ΠΌΠΎΠ³ΠΎ ΠΎΠ³ΡΠ°Π½ΠΈΡΠΈΠ²Π°ΡΡΠΈΠΌ ΠΏΡΡΠΌΠΎΡΠ³ΠΎΠ»ΡΠ½ΠΈΠΊΠΎΠΌ, ΠΊΠΎΡΠΎΡΡΠΉ Π·Π°Π΄Π°Π½ ΡΡΡΡΠΊΡΡΡΠΎΠΉ Rectangle. | 4 |
FillPath(Brush, GraphicsPath) | ΠΠ°ΠΏΠΎΠ»Π½ΡΠ΅Ρ Π²Π½ΡΡΡΠ΅Π½Π½ΡΡ ΡΠ°ΡΡΡ ΠΎΠ±ΡΠ΅ΠΊΡΠ° GraphicsPath. | 1 |
FillPie(Brush, Rectangle, Single, Single) | ΠΠ°ΠΏΠΎΠ»Π½ΡΠ΅Ρ Π²Π½ΡΡΡΠ΅Π½Π½ΡΡ ΡΠ°ΡΡΡ ΡΠ΅ΠΊΡΠΎΡΠ°, ΠΎΠΏΡΠ΅Π΄Π΅Π»ΡΠ΅ΠΌΠΎΠ³ΠΎ ΡΠ»Π»ΠΈΠΏΡΠΎΠΌ, ΠΊΠΎΡΠΎΡΡΠΉ Π·Π°Π΄Π°Π½ ΡΡΡΡΠΊΡΡΡΠΎΠΉ RectangleF, ΠΈ Π΄Π²ΡΠΌΡ ΡΠ°Π΄ΠΈΠ°Π»ΡΠ½ΡΠΌΠΈ Π»ΠΈΠ½ΠΈΡΠΌΠΈ. | 3 |
FillPolygon(Brush, Point[]) | ΠΠ°ΠΏΠΎΠ»Π½ΡΠ΅Ρ Π²Π½ΡΡΡΠ΅Π½Π½ΡΡ ΡΠ°ΡΡΡ ΠΌΠ½ΠΎΠ³ΠΎΡΠ³ΠΎΠ»ΡΠ½ΠΈΠΊΠ°, ΠΎΠΏΡΠ΅Π΄Π΅Π»ΡΠ΅ΠΌΠΎΠ³ΠΎ ΠΌΠ°ΡΡΠΈΠ²ΠΎΠΌ ΡΠΎΡΠ΅ΠΊ, Π·Π°Π΄Π°Π½Π½ΡΡ ΡΡΡΡΠΊΡΡΡΠ°ΠΌΠΈ Point. | 4 |
FillRectangle(Brush, Rectangle) | ΠΠ°ΠΏΠΎΠ»Π½ΡΠ΅Ρ Π²Π½ΡΡΡΠ΅Π½Π½ΡΡ ΡΠ°ΡΡΡ ΠΏΡΡΠΌΠΎΡΠ³ΠΎΠ»ΡΠ½ΠΈΠΊΠ°, ΠΎΠΏΡΠ΅Π΄Π΅Π»ΡΠ΅ΠΌΠΎΠ³ΠΎ ΡΡΡΡΠΊΡΡΡΠΎΠΉ Rectangle. | 4 |
FillRegion(Brush, Region) | ΠΠ°ΠΏΠΎΠ»Π½ΡΠ΅Ρ Π²Π½ΡΡΡΠ΅Π½Π½ΡΡ ΡΠ°ΡΡΡ ΠΎΠ±ΡΠ΅ΠΊΡΠ° Region. | 1 |
Flush() | ΠΡΠ·ΡΠ²Π°Π΅Ρ ΠΏΡΠΈΠ½ΡΠ΄ΠΈΡΠ΅Π»ΡΠ½ΠΎΠ΅ Π²ΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΠ΅ Π²ΡΠ΅Ρ ΠΎΡΠ»ΠΎΠΆΠ΅Π½Π½ΡΡ Π³ΡΠ°ΡΠΈΡΠ΅ΡΠΊΠΈΡ ΠΎΠΏΠ΅ΡΠ°ΡΠΈΠΉ ΠΈ Π½Π΅ΠΌΠ΅Π΄Π»Π΅Π½Π½ΠΎ Π²ΠΎΠ·Π²ΡΠ°ΡΠ°Π΅ΡΡΡ, Π½Π΅ Π΄ΠΎΠΆΠΈΠ΄Π°ΡΡΡ ΠΈΡ ΠΎΠΊΠΎΠ½ΡΠ°Π½ΠΈΡ. | 2 |
IntersectClip(Region) | ΠΠ±Π½ΠΎΠ²Π»ΡΠ΅Ρ Π²ΡΡΠ΅Π·Π°Π½Π½ΡΡ ΠΎΠ±Π»Π°ΡΡΡ Π΄Π°Π½Π½ΠΎΠ³ΠΎ ΠΎΠ±ΡΠ΅ΠΊΡΠ°, Π²ΠΊΠ»ΡΡΠ°Ρ Π² Π½Π΅Π΅ ΠΏΠ΅ΡΠ΅ΡΠ΅ΡΠ΅Π½ΠΈΠ΅ ΡΠ΅ΠΊΡΡΠ΅ΠΉ Π²ΡΡΠ΅Π·Π°Π½Π½ΠΎΠΉ ΠΎΠ±Π»Π°ΡΡΠΈ ΠΈ ΡΠΊΠ°Π·Π°Π½Π½ΠΎΠΉ ΡΡΡΡΠΊΡΡΡΡ | 3 |
ResetClip() | Π‘Π±ΡΠ°ΡΡΠ²Π°Π΅Ρ Π²ΡΠ΄Π΅Π»Π΅Π½Π½ΡΡ ΠΎΠ±Π»Π°ΡΡΡ g, Π΄Π΅Π»Π°Ρ Π΅Π΅ Π±Π΅ΡΠΊΠΎΠ½Π΅ΡΠ½ΠΎΠΉ | 1 |
ΠΠΎΠ΄ΡΠΎΠ±Π½Π΅Π΅ Π΅ΡΠ΅ ΠΎ Π΄Π²ΡΡ ΠΊΠ»Π°ΡΡΠ°Ρ .
ΠΠ»Π°ΡΡ Pen
ΠΠ»Π°ΡΡ Pen ΠΎΠΏΡΠ΅Π΄Π΅Π»ΡΠ΅Ρ ΠΎΠ±ΡΠ΅ΠΊΡ, ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΠΌΡΠΉ Π΄Π»Ρ ΡΠΈΡΠΎΠ²Π°Π½ΠΈΡ ΠΏΡΡΠΌΡΡ
Π»ΠΈΠ½ΠΈΠΉ ΠΈ ΠΊΡΠΈΠ²ΡΡ
. ΠΡΠΎΡ ΠΊΠ»Π°ΡΡ Π½Π΅ Π½Π°ΡΠ»Π΅Π΄ΡΠ΅ΡΡΡ. ΠΠΎΠ½ΡΡΡΡΠΊΡΠΎΡΡ ΠΊΠ»Π°ΡΡΠ° (ΡΠΎΠΆΠ΅ ΠΏΡΠΈΠΌΠ΅Ρ ΠΏΠ΅ΡΠ΅Π³ΡΡΠ·ΠΊΠΈ ΠΌΠ΅ΡΠΎΠ΄ΠΎΠ²):
1) Pen(Color) ΠΈΠ½ΠΈΡΠΈΠ°Π»ΠΈΠ·ΠΈΡΡΠ΅Ρ Π½ΠΎΠ²ΡΠΉ ΡΠΊΠ·Π΅ΠΌΠΏΠ»ΡΡ ΠΊΠ»Π°ΡΡΠ° Pen Ρ ΡΠΊΠ°Π·Π°Π½Π½ΡΠΌ ΡΠ²Π΅ΡΠΎΠΌ.
2) Pen(Color, Single) ΠΈΠ½ΠΈΡΠΈΠ°Π»ΠΈΠ·ΠΈΡΡΠ΅Ρ Π½ΠΎΠ²ΡΠΉ ΡΠΊΠ·Π΅ΠΌΠΏΠ»ΡΡ ΠΊΠ»Π°ΡΡΠ° Pen Ρ ΡΠΊΠ°Π·Π°Π½Π½ΡΠΌΠΈ ΡΠ²ΠΎΠΉΡΡΠ²Π°ΠΌΠΈ Color ΠΈ Width. (Width β ΡΡΡΠ°Π½Π°Π²Π»ΠΈΠ²Π°Π΅Ρ ΡΠΈΡΠΈΠ½Ρ ΠΏΠ΅ΡΠ° Pen, Π² Π΅Π΄ΠΈΠ½ΠΈΡΠ°Ρ
ΠΎΠ±ΡΠ΅ΠΊΡΠ° Graphics, ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΠΌΠΎΠ³ΠΎ Π΄Π»Ρ ΡΠΈΡΠΎΠ²Π°Π½ΠΈΡ
ΠΠ°ΠΏΡΠΈΠΌΠ΅Ρ:
Pen redPen = new Pen(Color.Red); // ΡΠΎΠ»ΡΠΈΠ½Π° ΠΏΠ΅ΡΠ° ΠΏΠΎ ΡΠΌΠΎΠ»ΡΠ°Π½ΠΈΡ 1 ΠΏΠΈΠΊΡΠ΅Π»Ρ
ΠΈΠ»ΠΈ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΡ ΠΏΡΠΎΠΌΠ΅ΠΆΡΡΠΎΡΠ½ΡΡ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΡΡ green
Color green = Color.Green;
Pen greenPen = new Pen(green, 4.5f);
ΠΠΎΠΆΠ½ΠΎ Π²Π²ΠΎΠ΄ΠΈΡΡ Π½ΠΎΠ²ΡΠΉ ΠΎΠ±ΡΠ΅ΠΊΡ Π±Π΅Π· ΡΠΊΠ°Π·Π°Π½ΠΈΡ ΡΠ²Π½ΠΎΠ³ΠΎ ΠΈΠΌΠ΅Π½ΠΈ ΠΏΠ΅ΡΠ° (ΠΏΡΠΈΠΌΠ΅Ρ ΡΠΎΠ·Π΄Π°Π½ΠΈΡ Π΄ΠΈΠ½Π°ΠΌΠΈΡΠ΅ΡΠΊΠΎΠ³ΠΎ ΠΎΠ±ΡΠ΅ΠΊΡΠ° β ΠΏΠ΅ΡΠ°):
g.DrawRectangle(new Pen(Color.Red, 3), r);
Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ, Π΄Π»Ρ ΡΠΈΡΠΎΠ²Π°Π½ΠΈΡ ΠΏΡΡΠΌΠΎΡΠ³ΠΎΠ»ΡΠ½ΠΈΠΊΠ° r ΠΊΡΠ°ΡΠ½ΡΠΌ ΠΏΠ΅ΡΠΎΠΌ ΡΠΎΠ»ΡΠΈΠ½ΠΎΠΉ 3 ΠΏΠΈΠΊΡΠ΅Π»Ρ, ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΡ Π³ΡΠ°ΡΠΈΡΠ΅ΡΠΊΠΈΠΉ ΠΊΠΎΠ½ΡΠ΅ΠΊΡΡ (Β«Ρ
ΠΎΠ»ΡΡΒ») g.
ΠΠ»Π°ΡΡ Brush
ΠΠ»Π°ΡΡ Brush ΠΎΠΏΡΠ΅Π΄Π΅Π»ΡΠ΅Ρ ΠΎΠ±ΡΠ΅ΠΊΡΡ, ΠΊΠΎΡΠΎΡΡΠ΅ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΡΡΡΡ Π΄Π»Ρ Π·Π°Π»ΠΈΠ²ΠΊΠΈ Π²Π½ΡΡΡΠΈ Π³ΡΠ°ΡΠΈΡΠ΅ΡΠΊΠΈΡ
ΡΠΈΠ³ΡΡ, ΡΠ°ΠΊΠΈΡ
ΠΊΠ°ΠΊ ΠΏΡΡΠΌΠΎΡΠ³ΠΎΠ»ΡΠ½ΠΈΠΊΠΈ, ΡΠ»Π»ΠΈΠΏΡΡ, ΠΊΡΡΠ³ΠΈ, ΠΌΠ½ΠΎΠ³ΠΎΡΠ³ΠΎΠ»ΡΠ½ΠΈΠΊΠΈ ΠΈ Π΄ΠΎΡΠΎΠΆΠΊΠΈ. ΠΡΠΎ Π°Π±ΡΡΡΠ°ΠΊΡΠ½ΡΠΉ Π±Π°Π·ΠΎΠ²ΡΠΉ ΠΊΠ»Π°ΡΡ, ΠΊΠΎΡΠΎΡΡΠΉ Π½Π΅ ΠΌΠΎΠΆΠ΅Ρ Π±ΡΡΡ ΡΠ΅Π°Π»ΠΈΠ·ΠΎΠ²Π°Π½. ΠΠ»Ρ ΡΠΎΠ·Π΄Π°Π½ΠΈΡ ΠΎΠ±ΡΠ΅ΠΊΡΠ° Β«ΠΊΠΈΡΡΡΒ» ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΡΡΡΡ ΠΊΠ»Π°ΡΡΡ, ΠΏΡΠΎΠΈΠ·Π²ΠΎΠ΄Π½ΡΠ΅ ΠΎΡ Brush, ΡΠ°ΠΊΠΈΠ΅ ΠΊΠ°ΠΊ SolidBrush, TextureBrush ΠΈ LinearGradientBrush, Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ:
SolidBrush br = new SolidBrush(Color.Aqua);
g.FillRectangle(br, r); // Π·Π°ΠΊΡΠ°ΡΠΊΠ° ΠΏΡΡΠΌΠΎΡΠ³ΠΎΠ»ΡΠ½ΠΈΠΊΠ° r Π½Π° Β«Ρ
ΠΎΠ»ΡΡΠ΅Β» g
ΠΠ»ΠΈ Π±Π΅Π· ΡΠ²Π½ΠΎΠ³ΠΎ ΠΎΠ±ΡΡΠ²Π»Π΅Π½ΠΈΡ ΠΎΠ±ΡΠ΅ΠΊΡΠ° Β«ΠΊΠΈΡΡΡΒ» br:
g.FillRectangle(new SolidBrush(Color.Red), r);
ΠΠ»Ρ ΠΏΠ΅ΡΠ²ΠΎΠ½Π°ΡΠ°Π»ΡΠ½ΠΎΠ³ΠΎ ΠΏΡΠΈΠ²ΡΠΊΠ°Π½ΠΈΡ ΠΊ ΡΡΠΈΠ»Ρ ΠΠΠ Π² Π³ΡΠ°ΡΠΈΠΊΠ΅ ΡΠ°ΡΡΠΌΠΎΡΡΠΈΠΌ ΠΏΠ΅ΡΠ²ΡΠΉ ΠΏΡΠΈΠΌΠ΅Ρ ΡΠΈΡΠΎΠ²Π°Π½ΠΈΡ.
ΠΡΡΠΈΡΠΎΠ²ΠΊΠ° ΡΠ»Π΅ΠΌΠ΅Π½ΡΠΎΠ² ΡΠΏΡΠ°Π²Π»Π΅Π½ΠΈΡ Windows Forms
ΠΡΡΠΈΡΠΎΠ²ΠΊΠ° ΠΎΠ±ΠΎΠ·Π½Π°ΡΠ°Π΅Ρ ΠΏΡΠΎΡΠ΅ΡΡ ΡΠΎΠ·Π΄Π°Π½ΠΈΡ Π²ΠΈΠ·ΡΠ°Π»ΡΠ½ΠΎΠ³ΠΎ ΠΏΡΠ΅Π΄ΡΡΠ°Π²Π»Π΅Π½ΠΈΡ Π½Π° ΡΠΊΡΠ°Π½Π΅ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»Ρ. Windows Π² ΡΠΎΡΠΌΠ°Ρ Π΄Π»Ρ ΠΎΡΡΠΈΡΠΎΠ²ΠΊΠΈ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΡΡΡ GDI (Π½ΠΎΠ²Π°Ρ Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠ° Windows graphics). Π£ΠΏΡΠ°Π²Π»ΡΠ΅ΠΌΡΠ΅ ΠΊΠ»Π°ΡΡΡ, ΠΏΡΠ΅Π΄ΠΎΡΡΠ°Π²Π»ΡΡΡΠΈΠ΅ Π΄ΠΎΡΡΡΠΏ ΠΊ GDI, Π½Π°Ρ ΠΎΠ΄ΡΡΡΡ Π² System.Drawing ΠΏΡΠΎΡΡΡΠ°Π½ΡΡΠ²Π΅ ΠΈΠΌΠ΅Π½ ΠΈ Π΅Π³ΠΎ ΠΏΠΎΠ΄ΠΏΡΠΎΡΡΡΠ°Π½ΡΡΠ²Π°Ρ ΠΈΠΌΠ΅Π½.
ΠΡΠΈ ΠΎΡΡΠΈΡΠΎΠ²ΠΊΠ΅ ΡΠ»Π΅ΠΌΠ΅Π½ΡΠ° ΡΠΏΡΠ°Π²Π»Π΅Π½ΠΈΡ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΡΡΡΡ ΡΠ»Π΅Π΄ΡΡΡΠΈΠ΅ ΡΠ»Π΅ΠΌΠ΅Π½ΡΡ:
Π€ΡΠ½ΠΊΡΠΈΠΈ ΡΠΈΡΠΎΠ²Π°Π½ΠΈΡ, ΠΏΡΠ΅Π΄ΠΎΡΡΠ°Π²Π»ΡΠ΅ΠΌΡΠ΅ Π±Π°Π·ΠΎΠ²ΡΠΌ ΠΊΠ»Π°ΡΡΠΎΠΌ System.Windows.Forms.Control.
ΠΠ±ΡΠ·Π°ΡΠ΅Π»ΡΠ½ΡΠ΅ ΡΠ»Π΅ΠΌΠ΅Π½ΡΡ Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠΈ Π³ΡΠ°ΡΠΈΡΠ΅ΡΠΊΠΈΡ ΠΎΠ±ΡΠ΅ΠΊΡΠΎΠ² GDI.
ΠΠ΅ΠΎΠΌΠ΅ΡΡΠΈΡ ΠΎΠ±Π»Π°ΡΡΠΈ ΡΠΈΡΠΎΠ²Π°Π½ΠΈΡ.
ΠΡΠΎΡΠ΅Π΄ΡΡΠ° Π²ΡΡΠ²ΠΎΠ±ΠΎΠΆΠ΄Π΅Π½ΠΈΡ Π³ΡΠ°ΡΠΈΡΠ΅ΡΠΊΠΈΡ ΡΠ΅ΡΡΡΡΠΎΠ².
Π€ΡΠ½ΠΊΡΠΈΠΎΠ½Π°Π»ΡΠ½ΡΠ΅ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΠΈ ΡΠΈΡΠΎΠ²Π°Π½ΠΈΡ, ΠΏΡΠ΅Π΄ΠΎΡΡΠ°Π²Π»ΡΠ΅ΠΌΡΠ΅ ΡΠ»Π΅ΠΌΠ΅Π½ΡΠΎΠΌ ΡΠΏΡΠ°Π²Π»Π΅Π½ΠΈΡ
ΠΠ»Π°ΡΡ Π΄Π°Π½Π½ΡΡ ΡΠΎΠ±ΡΡΠΈΠΉ Π΄Π»Ρ Paint ΡΠΎΠ±ΡΡΠΈΡ, PaintEventArgs ΡΠΎΠ΄Π΅ΡΠΆΠΈΡ Π΄Π°Π½Π½ΡΠ΅, Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΡΠ΅ Π΄Π»Ρ ΡΠΈΡΠΎΠ²Π°Π½ΠΈΡ ΡΠ»Π΅ΠΌΠ΅Π½ΡΠ° ΡΠΏΡΠ°Π²Π»Π΅Π½ΠΈΡ β ΠΌΠ°ΡΠΊΠ΅Ρ Π³ΡΠ°ΡΠΈΡΠ΅ΡΠΊΠΎΠ³ΠΎ ΠΎΠ±ΡΠ΅ΠΊΡΠ° ΠΈ ΠΏΡΡΠΌΠΎΡΠ³ΠΎΠ»ΡΠ½ΠΈΠΊΠ°, ΠΏΡΠ΅Π΄ΡΡΠ°Π²Π»ΡΡΡΠΈΠΉ ΡΠ΅Π³ΠΈΠΎΠ½ Π΄Π»Ρ ΡΠΈΡΠΎΠ²Π°Π½ΠΈΡ. ΠΡΠΈ ΠΎΠ±ΡΠ΅ΠΊΡΡ ΠΏΠΎΠΊΠ°Π·Π°Π½Ρ ΠΆΠΈΡΠ½ΡΠΌ ΡΡΠΈΡΡΠΎΠΌ Π² ΡΠ»Π΅Π΄ΡΡΡΠ΅ΠΌ ΡΡΠ°Π³ΠΌΠ΅Π½ΡΠ΅ ΠΊΠΎΠ΄Π°.
Graphics β ΠΡΠΎ ΡΠΏΡΠ°Π²Π»ΡΠ΅ΠΌΡΠΉ ΠΊΠ»Π°ΡΡ, ΠΊΠΎΡΠΎΡΡΠΉ ΠΈΠ½ΠΊΠ°ΠΏΡΡΠ»ΠΈΡΡΠ΅Ρ ΡΡΠ½ΠΊΡΠΈΠΎΠ½Π°Π»ΡΠ½ΡΠ΅ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΠΈ ΡΠΈΡΠΎΠ²Π°Π½ΠΈΡ, ΠΊΠ°ΠΊ ΠΎΠΏΠΈΡΠ°Π½ΠΎ Π² ΡΠ°Π·Π΄Π΅Π»Π΅ ΠΎ GDI Π΄Π°Π»Π΅Π΅ Π² ΡΡΠΎΠΉ ΡΡΠ°ΡΡΠ΅. ClipRectangle ΡΠ²Π»ΡΠ΅ΡΡΡ ΡΠΊΠ·Π΅ΠΌΠΏΠ»ΡΡΠΎΠΌ ΡΡΡΡΠΊΡΡΡΡ Rectangle ΠΈ ΠΎΠΏΡΠ΅Π΄Π΅Π»ΡΠ΅Ρ Π΄ΠΎΡΡΡΠΏΠ½ΡΡ ΠΎΠ±Π»Π°ΡΡΡ, Π² ΠΊΠΎΡΠΎΡΠΎΠΉ ΠΌΠΎΠΆΠ½ΠΎ Π½Π°ΡΠΈΡΠΎΠ²Π°ΡΡ ΡΠ»Π΅ΠΌΠ΅Π½Ρ ΡΠΏΡΠ°Π²Π»Π΅Π½ΠΈΡ. Π Π°Π·ΡΠ°Π±ΠΎΡΡΠΈΠΊ ΡΠ»Π΅ΠΌΠ΅Π½ΡΠ° ΡΠΏΡΠ°Π²Π»Π΅Π½ΠΈΡ ΠΌΠΎΠΆΠ΅Ρ Π²ΡΡΠΈΡΠ»ΠΈΡΡ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅ ClipRectangle Ρ ΠΏΠΎΠΌΠΎΡΡΡ ClipRectangle ΡΠ²ΠΎΠΉΡΡΠ²Π° ΡΠ»Π΅ΠΌΠ΅Π½ΡΠ° ΡΠΏΡΠ°Π²Π»Π΅Π½ΠΈΡ, ΠΊΠ°ΠΊ ΠΎΠΏΠΈΡΠ°Π½ΠΎ Π² ΠΎΠ±ΡΡΠΆΠ΄Π΅Π½ΠΈΠΈ Π³Π΅ΠΎΠΌΠ΅ΡΡΠΈΠΈ Π΄Π°Π»Π΅Π΅ Π² ΡΡΠΎΠΌ ΡΠ°Π·Π΄Π΅Π»Π΅.
ΠΠ»Π΅ΠΌΠ΅Π½Ρ ΡΠΏΡΠ°Π²Π»Π΅Π½ΠΈΡ Π΄ΠΎΠ»ΠΆΠ΅Π½ ΠΏΡΠ΅Π΄ΠΎΡΡΠ°Π²Π»ΡΡΡ Π»ΠΎΠ³ΠΈΠΊΡ ΠΎΡΡΠΈΡΠΎΠ²ΠΊΠΈ ΠΏΡΡΠ΅ΠΌ ΠΏΠ΅ΡΠ΅ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½ΠΈΡ ΠΌΠ΅ΡΠΎΠ΄Π° OnPaint, ΠΊΠΎΡΠΎΡΡΠΉ ΠΎΠ½ Π½Π°ΡΠ»Π΅Π΄ΡΠ΅Ρ ΠΎΡ Control. OnPaint ΠΏΠΎΠ»ΡΡΠ°Π΅Ρ Π΄ΠΎΡΡΡΠΏ ΠΊ Π³ΡΠ°ΡΠΈΡΠ΅ΡΠΊΠΎΠΌΡ ΠΎΠ±ΡΠ΅ΠΊΡΡ ΠΈ ΠΏΡΡΠΌΠΎΡΠ³ΠΎΠ»ΡΠ½ΠΈΠΊΡ Π΄Π»Ρ ΡΠΈΡΠΎΠ²Π°Π½ΠΈΡ Ρ ΠΏΠΎΠΌΠΎΡΡΡ ΡΠ²ΠΎΠΉΡΡΠ² Graphics ΠΈ ClipRectangle ΡΠΊΠ·Π΅ΠΌΠΏΠ»ΡΡΠ° PaintEventArgs, ΠΏΠ΅ΡΠ΅Π΄Π°Π½Π½ΠΎΠ³ΠΎ Π² Π½Π΅Π³ΠΎ.
ΠΠ°Π·ΠΎΠ²ΡΠΉ Control ΠΊΠ»Π°ΡΡ ΠΎΠΏΡΠ΅Π΄Π΅Π»ΡΠ΅Ρ Π΄ΡΡΠ³ΠΎΠΉ ΠΌΠ΅ΡΠΎΠ΄, ΠΊΠΎΡΠΎΡΡΠΉ ΡΠ΄ΠΎΠ±Π΅Π½ Π΄Π»Ρ ΡΠΈΡΠΎΠ²Π°Π½ΠΈΡ β OnPaintBackground ΠΌΠ΅ΡΠΎΠ΄.
OnPaintBackground ΠΠ°ΠΊΡΠ°ΡΠΈΠ²Π°Π΅Ρ ΡΠΎΠ½ (ΠΈ, ΡΠ°ΠΊΠΈΠΌ ΠΎΠ±ΡΠ°Π·ΠΎΠΌ, ΡΠΎΡΠΌΡ) ΠΎΠΊΠ½Π° ΠΈ Π³Π°ΡΠ°Π½ΡΠΈΡΠΎΠ²Π°Π½Π½ΠΎ Π±ΡΡΡΡΡΠΌ, Π² ΡΠΎ ΠΆΠ΅ Π²ΡΠ΅ΠΌΡ OnPaint ΡΠΈΡΡΡ Π΄Π΅ΡΠ°Π»ΠΈ ΠΈ ΠΌΠΎΠΆΠ΅Ρ Π±ΡΡΡ ΠΌΠ΅Π΄Π»Π΅Π½Π½Π΅Π΅, ΠΏΠΎΡΠΊΠΎΠ»ΡΠΊΡ ΠΎΡΠ΄Π΅Π»ΡΠ½ΡΠ΅ Π·Π°ΠΏΡΠΎΡΡ ΡΠΈΡΠΎΠ²Π°Π½ΠΈΡ ΠΎΠ±ΡΠ΅Π΄ΠΈΠ½ΡΡΡΡΡ Π² ΠΎΠ΄Π½ΠΎ Paint ΡΠΎΠ±ΡΡΠΈΠ΅, ΠΎΡ Π²Π°ΡΡΠ²Π°ΡΡΠ΅Π΅ Π²ΡΠ΅ ΠΎΠ±Π»Π°ΡΡΠΈ, ΠΊΠΎΡΠΎΡΡΠ΅ Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΠΎ ΠΏΠ΅ΡΠ΅ΡΠΈΡΠΎΠ²Π°ΡΡ. ΠΠΎΠΆΠ΅Ρ ΠΏΠΎΡΡΠ΅Π±ΠΎΠ²Π°ΡΡΡΡ Π²ΡΠ·Π²Π°ΡΡ OnPaintBackground, Π΅ΡΠ»ΠΈ, Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ, Π½ΡΠΆΠ½ΠΎ Π½Π°ΡΠΈΡΠΎΠ²Π°ΡΡ Π³ΡΠ°Π΄ΠΈΠ΅Π½ΡΠ½ΡΠΉ ΡΠΎΠ½ Π΄Π»Ρ ΡΠ»Π΅ΠΌΠ΅Π½ΡΠ° ΡΠΏΡΠ°Π²Π»Π΅Π½ΠΈΡ.
ΠΡΠ½ΠΎΠ²Ρ GDI+
GraphicsΠΠ»Π°ΡΡ ΠΏΡΠ΅Π΄ΠΎΡΡΠ°Π²Π»ΡΠ΅Ρ ΠΌΠ΅ΡΠΎΠ΄Ρ Π΄Π»Ρ ΡΠΈΡΠΎΠ²Π°Π½ΠΈΡ ΡΠ°Π·Π»ΠΈΡΠ½ΡΡ ΡΠΈΠ³ΡΡ, ΡΠ°ΠΊΠΈΡ ΠΊΠ°ΠΊ ΠΊΡΡΠ³ΠΈ, ΡΡΠ΅ΡΠ³ΠΎΠ»ΡΠ½ΠΈΠΊΠΈ, Π΄ΡΠ³ΠΈ ΠΈ ΡΠ»Π»ΠΈΠΏΡΡ, Π° ΡΠ°ΠΊΠΆΠ΅ ΠΌΠ΅ΡΠΎΠ΄Ρ Π΄Π»Ρ ΠΎΡΠΎΠ±ΡΠ°ΠΆΠ΅Π½ΠΈΡ ΡΠ΅ΠΊΡΡΠ°. System.DrawingΠΡΠΎΡΡΡΠ°Π½ΡΡΠ²ΠΎ ΠΈΠΌΠ΅Π½ ΠΈ Π΅Π³ΠΎ ΠΏΠΎΠ΄ΠΏΡΠΎΡΡΡΠ°Π½ΡΡΠ²Π° ΠΈΠΌΠ΅Π½ ΡΠΎΠ΄Π΅ΡΠΆΠ°Ρ ΠΊΠ»Π°ΡΡΡ, ΠΈΠ½ΠΊΠ°ΠΏΡΡΠ»ΠΈΡΡΡΡΠΈΠ΅ Π³ΡΠ°ΡΠΈΡΠ΅ΡΠΊΠΈΠ΅ ΡΠ»Π΅ΠΌΠ΅Π½ΡΡ, ΡΠ°ΠΊΠΈΠ΅ ΠΊΠ°ΠΊ ΡΠΈΠ³ΡΡΡ (ΠΊΡΡΠ³ΠΈ, ΠΏΡΡΠΌΠΎΡΠ³ΠΎΠ»ΡΠ½ΠΈΠΊΠΈ, Π΄ΡΠ³ΠΈ ΠΈ Π΄Ρ.), ΡΠ²Π΅ΡΠ°, ΡΡΠΈΡΡΡ, ΠΊΠΈΡΡΠΈ ΠΈ Ρ. Π΄. ΠΠΎΠΏΠΎΠ»Π½ΠΈΡΠ΅Π»ΡΠ½ΡΠ΅ ΡΠ²Π΅Π΄Π΅Π½ΠΈΡ ΠΎ GDI ΡΠΌ. Π² ΡΠ°Π·Π΄Π΅Π»Π΅ ΠΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠ΅ ΡΠΏΡΠ°Π²Π»ΡΠ΅ΠΌΡΡ Π³ΡΠ°ΡΠΈΡΠ΅ΡΠΊΠΈΡ ΠΊΠ»Π°ΡΡΠΎΠ². ΠΎΡΠ½ΠΎΠ²Π½ΡΠ΅ ΡΠ²Π΅Π΄Π΅Π½ΠΈΡ ΠΎ GDI ΡΠ°ΠΊΠΆΠ΅ ΠΎΠΏΠΈΡΠ°Π½Ρ Π² ΡΠ°Π·Π΄Π΅Π»Π΅ ΠΊΠ°ΠΊ ΡΠΎΠ·Π΄Π°ΡΡ ΡΠ»Π΅ΠΌΠ΅Π½Ρ ΡΠΏΡΠ°Π²Π»Π΅Π½ΠΈΡ Windows Forms, ΠΎΡΠΎΠ±ΡΠ°ΠΆΠ°ΡΡΠΈΠΉ Ρ ΠΎΠ΄ Π²ΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΡ.
ΠΠ΅ΠΎΠΌΠ΅ΡΡΠΈΡ ΠΎΠ±Π»Π°ΡΡΠΈ ΡΠΈΡΠΎΠ²Π°Π½ΠΈΡ
ClientRectangleΠ‘Π²ΠΎΠΉΡΡΠ²ΠΎ ΡΠ»Π΅ΠΌΠ΅Π½ΡΠ° ΡΠΏΡΠ°Π²Π»Π΅Π½ΠΈΡ ΡΠΊΠ°Π·ΡΠ²Π°Π΅Ρ ΠΏΡΡΠΌΠΎΡΠ³ΠΎΠ»ΡΠ½ΡΡ ΠΎΠ±Π»Π°ΡΡΡ, Π΄ΠΎΡΡΡΠΏΠ½ΡΡ Π΄Π»Ρ ΡΠ»Π΅ΠΌΠ΅Π½ΡΠ° ΡΠΏΡΠ°Π²Π»Π΅Π½ΠΈΡ Π½Π° ΡΠΊΡΠ°Π½Π΅ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»Ρ, Π° ClipRectangle ΡΠ²ΠΎΠΉΡΡΠ²ΠΎ ΠΎΠ±ΡΠ΅ΠΊΡΠ° β PaintEventArgs ΠΎΠ±Π»Π°ΡΡΡ, ΠΊΠΎΡΠΎΡΠ°Ρ Π½Π° ΡΠ°ΠΌΠΎΠΌ Π΄Π΅Π»Π΅ ΠΎΠΊΡΠ°ΡΠ΅Π½Π°. (ΠΠΎΠΌΠ½ΠΈΡΠ΅, ΡΡΠΎ ΡΠΈΡΠΎΠ²Π°Π½ΠΈΠ΅ Π²ΡΠΏΠΎΠ»Π½ΡΠ΅ΡΡΡ Π² Paint ΠΌΠ΅ΡΠΎΠ΄Π΅ ΡΠΎΠ±ΡΡΠΈΡ, ΠΊΠΎΡΠΎΡΡΠΉ ΠΏΡΠΈΠ½ΠΈΠΌΠ°Π΅Ρ PaintEventArgs ΡΠΊΠ·Π΅ΠΌΠΏΠ»ΡΡ Π² ΠΊΠ°ΡΠ΅ΡΡΠ²Π΅ Π°ΡΠ³ΡΠΌΠ΅Π½ΡΠ°). ΠΠ»Π΅ΠΌΠ΅Π½ΡΡ ΡΠΏΡΠ°Π²Π»Π΅Π½ΠΈΡ ΠΌΠΎΠΆΠ΅Ρ ΠΏΠΎΡΡΠ΅Π±ΠΎΠ²Π°ΡΡΡΡ Π·Π°ΠΊΡΠ°ΡΠΈΡΡ ΡΠΎΠ»ΡΠΊΠΎ ΡΠ°ΡΡΡ Π΅Π³ΠΎ Π΄ΠΎΡΡΡΠΏΠ½ΠΎΠΉ ΠΎΠ±Π»Π°ΡΡΠΈ, Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ Π² ΡΠ»ΡΡΠ°Π΅, ΠΊΠΎΠ³Π΄Π° ΠΈΠ·ΠΌΠ΅Π½ΡΠ΅ΡΡΡ Π½Π΅Π±ΠΎΠ»ΡΡΠΎΠΉ ΡΠ°Π·Π΄Π΅Π» ΡΠ»Π΅ΠΌΠ΅Π½ΡΠ° ΡΠΏΡΠ°Π²Π»Π΅Π½ΠΈΡ. Π ΡΠ°ΠΊΠΈΡ ΡΠΈΡΡΠ°ΡΠΈΡΡ ΡΠ°Π·ΡΠ°Π±ΠΎΡΡΠΈΠΊ ΡΠ»Π΅ΠΌΠ΅Π½ΡΠ° ΡΠΏΡΠ°Π²Π»Π΅Π½ΠΈΡ Π΄ΠΎΠ»ΠΆΠ΅Π½ Π²ΡΡΠΈΡΠ»ΠΈΡΡ ΡΠ°ΠΊΡΠΈΡΠ΅ΡΠΊΠΈΠΉ ΠΏΡΡΠΌΠΎΡΠ³ΠΎΠ»ΡΠ½ΠΈΠΊ Π΄Π»Ρ ΡΠΈΡΠΎΠ²Π°Π½ΠΈΡ ΠΈ ΠΏΠ΅ΡΠ΅Π΄Π°ΡΡ Π΅Π³ΠΎ Π² Invalidate. ΠΠ΅ΡΠ΅Π³ΡΡΠΆΠ΅Π½Π½ΡΠ΅ Π²Π΅ΡΡΠΈΠΈ Invalidate, ΠΏΡΠΈΠ½ΠΈΠΌΠ°ΡΡΠΈΠ΅ Rectangle ΠΈΠ»ΠΈ Region Π² ΠΊΠ°ΡΠ΅ΡΡΠ²Π΅ Π°ΡΠ³ΡΠΌΠ΅Π½ΡΠ°, ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΡΡ ΡΡΠΎΡ Π°ΡΠ³ΡΠΌΠ΅Π½Ρ Π΄Π»Ρ ΡΠΎΠ·Π΄Π°Π½ΠΈΡ ΡΠ²ΠΎΠΉΡΡΠ²Π° ClipRectangle ΡΠ»Π΅ΠΌΠ΅Π½ΡΠ° PaintEventArgs.
Π ΡΠ»Π΅Π΄ΡΡΡΠ΅ΠΌ ΡΡΠ°Π³ΠΌΠ΅Π½ΡΠ΅ ΠΊΠΎΠ΄Π° ΠΏΠΎΠΊΠ°Π·Π°Π½ΠΎ, ΠΊΠ°ΠΊ FlashTrackBar ΠΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»ΡΡΠΊΠΈΠΉ ΡΠ»Π΅ΠΌΠ΅Π½Ρ ΡΠΏΡΠ°Π²Π»Π΅Π½ΠΈΡ Π²ΡΠΏΠΎΠ»Π½ΡΠ΅Ρ Π²ΡΡΠΈΡΠ»Π΅Π½ΠΈΠ΅ ΠΏΡΡΠΌΠΎΡΠ³ΠΎΠ»ΡΠ½ΠΎΠΉ ΠΎΠ±Π»Π°ΡΡΠΈ Π΄Π»Ρ ΡΠΈΡΠΎΠ²Π°Π½ΠΈΡ. client ΠΠ΅ΡΠ΅ΠΌΠ΅Π½Π½Π°Ρ ΠΎΠ±ΠΎΠ·Π½Π°ΡΠ°Π΅Ρ ClipRectangle ΡΠ²ΠΎΠΉΡΡΠ²ΠΎ. ΠΏΠΎΠ»Π½ΡΠΉ ΠΏΡΠΈΠΌΠ΅Ρ ΡΠΌ. Π² ΡΠ°Π·Π΄Π΅Π»Π΅ ΠΊΠ°ΠΊ ΡΠΎΠ·Π΄Π°ΡΡ ΡΠ»Π΅ΠΌΠ΅Π½Ρ ΡΠΏΡΠ°Π²Π»Π΅Π½ΠΈΡ Windows Forms, ΠΎΡΠΎΠ±ΡΠ°ΠΆΠ°ΡΡΠΈΠΉ Ρ ΠΎΠ΄ Π²ΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΡ.
ΠΡΠ²ΠΎΠ±ΠΎΠΆΠ΄Π΅Π½ΠΈΠ΅ Π³ΡΠ°ΡΠΈΡΠ΅ΡΠΊΠΈΡ ΡΠ΅ΡΡΡΡΠΎΠ²
Π ΡΠ»Π΅Π΄ΡΡΡΠ΅ΠΌ ΡΡΠ°Π³ΠΌΠ΅Π½ΡΠ΅ ΠΊΠΎΠ΄Π° ΠΏΠΎΠΊΠ°Π·Π°Π½ΠΎ, ΠΊΠ°ΠΊ FlashTrackBar ΠΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»ΡΡΠΊΠΈΠΉ ΡΠ»Π΅ΠΌΠ΅Π½Ρ ΡΠΏΡΠ°Π²Π»Π΅Π½ΠΈΡ ΡΠΎΠ·Π΄Π°Π΅Ρ ΠΈ ΠΎΡΠ²ΠΎΠ±ΠΎΠΆΠ΄Π°Π΅Ρ Brush ΡΠ΅ΡΡΡΡ. ΠΏΠΎΠ»Π½ΡΠΉ ΠΈΡΡ ΠΎΠ΄Π½ΡΠΉ ΠΊΠΎΠ΄ ΡΠΌ. Π² ΡΠ°Π·Π΄Π΅Π»Π΅ ΠΊΠ°ΠΊ ΡΠΎΠ·Π΄Π°ΡΡ ΡΠ»Π΅ΠΌΠ΅Π½Ρ ΡΠΏΡΠ°Π²Π»Π΅Π½ΠΈΡ Windows Forms, ΠΎΡΠΎΠ±ΡΠ°ΠΆΠ°ΡΡΠΈΠΉ Ρ ΠΎΠ΄ Π²ΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΡ.