ΠŸΠΎΠΌΠΎΡ‰ΡŒ Π² написании студСнчСских Ρ€Π°Π±ΠΎΡ‚
АнтистрСссовый сСрвис

ГрафичСский Ρ€Π΅Π΄Π°ΠΊΡ‚ΠΎΡ€

ΠšΡƒΡ€ΡΠΎΠ²Π°Ρ ΠšΡƒΠΏΠΈΡ‚ΡŒ Π³ΠΎΡ‚ΠΎΠ²ΡƒΡŽ Π£Π·Π½Π°Ρ‚ΡŒ ΡΡ‚ΠΎΠΈΠΌΠΎΡΡ‚ΡŒΠΌΠΎΠ΅ΠΉ Ρ€Π°Π±ΠΎΡ‚Ρ‹

Π’ Ρ€Π΅ΠΆΠΈΠΌΠ΅ «Π—Π°Π»ΠΈΠ²ΠΊΠ°» Π½Π°ΠΆΠ°Ρ‚ΠΈΠ΅ Π»Π΅Π²ΠΎΠΉ ΠΊΠ½ΠΎΠΏΠΊΠΈ ΠΌΡ‹ΡˆΠΈ Π² Π½Π΅ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΉ области, ΠΎΠ³Ρ€Π°Π½ΠΈΡ‡Π΅Π½Π½ΠΎΠΉ линиями Π΄Ρ€ΡƒΠ³ΠΎΠ³ΠΎ Ρ†Π²Π΅Ρ‚Π°, ΠΏΡ€ΠΈΠ²ΠΎΠ΄ΠΈΡ‚ ΠΊ Π·Π°ΠΊΡ€Π°ΡˆΠΈΠ²Π°Π½ΠΈΡŽ этой области Ρ‚Π΅ΠΊΡƒΡ‰ΠΈΠΌ Ρ†Π²Π΅Ρ‚ΠΎΠΌ ΠΏΠ΅Ρ€Π°. Π’ ΡΡ‚ΠΎΠΌ Ρ€Π΅ΠΆΠΈΠΌΠ΅ курсор ΠΈΠΌΠ΅Π΅Ρ‚ Π²ΠΈΠ΄ пСрСкрСстия со ΡΡ‚Ρ€Π΅Π»ΠΎΡ‡ΠΊΠ°ΠΌΠΈ Π½Π° ΠΊΠΎΠ½Ρ†Π°Ρ…. ПослС задания ΠΏΠ°Ρ€ΠΌΠ΅Ρ‚Ρ€ΠΎΠ² Π½ΠΎΠ²ΠΎΠ³ΠΎ изобраТСния ΠΈΠ»ΠΈ считывания изобраТСния ΠΈΠ· Ρ„Π°ΠΉΠ»Π° ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ Π³ΠΎΡ‚ΠΎΠ²ΠΎ ΠΊ Ρ€Π°Π±ΠΎΡ‚Π΅. ΠŸΠ΅Ρ€Π²ΠΎΠ½Π°Ρ‡Π°Π»ΡŒΠ½ΠΎ установлСн инструмСнт «ΠšΠ°Ρ€Π°Π½Π΄Π°Ρˆ», Ρ†Π²Π΅Ρ‚ Π»ΠΈΠ½ΠΈΠΉ… Π§ΠΈΡ‚Π°Ρ‚ΡŒ Π΅Ρ‰Ρ‘ >

ГрафичСский Ρ€Π΅Π΄Π°ΠΊΡ‚ΠΎΡ€ (Ρ€Π΅Ρ„Π΅Ρ€Π°Ρ‚, курсовая, Π΄ΠΈΠΏΠ»ΠΎΠΌ, ΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»ΡŒΠ½Π°Ρ)

Π‘ΠΎΠ΄Π΅Ρ€ΠΆΠ°Π½ΠΈΠ΅

  • Π—Π°Π΄Π°Π½ΠΈΠ΅
  • 1. ВСхничСскоС Π·Π°Π΄Π°Π½ΠΈΠ΅ Π½Π° Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΡƒ графичСского Ρ€Π΅Π΄Π°ΠΊΡ‚ΠΎΡ€Π°
  • 2. ΠŸΡ€ΠΎΠ΅ΠΊΡ‚ΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ интСрфСйса ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Ρ
  • 3. ОписаниС Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌΠΎΠ², ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅ΠΌΡ‹Ρ… для создания ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ½ΠΎΠ³ΠΎ обСспСчСния
  • 4. ВСксты ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ½Ρ‹Ρ… ΠΌΠΎΠ΄ΡƒΠ»Π΅ΠΉ
  • 5. Π‘ΠΊΡ€ΠΈΠ½ΡˆΠΎΡ‚Ρ‹ Ρ€Π°Π±ΠΎΡ‚Ρ‹ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ½ΠΎΠ³ΠΎ обСспСчСния ΠΏΠΎ Π²ΡΠ΅ΠΌ функциям, Π·Π°Π»ΠΎΠΆΠ΅Π½Π½Ρ‹ΠΌ Π² Ρ‚СхничСском Π·Π°Π΄Π°Π½ΠΈΠΈ
  • 6. ВСхничСскиС условия примСнСния ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ½ΠΎΠ³ΠΎ обСспСчСния ΠΈ ΠΈΠ½ΡΡ‚рукция ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Ρ
  • Π—Π°ΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΠ΅
  • Бписок ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅ΠΌΠΎΠΉ Π»ΠΈΡ‚Π΅Ρ€Π°Ρ‚ΡƒΡ€Ρ‹

DeleteObject (); // Π·Π°Π²ΠΎΠ΄ΠΈΠΌ Π½ΠΎΠ²ΠΎΠ΅ ΠΏΠ΅Ρ€ΠΎ ΠΈ ΠΏΡ€ΠΎΠΏΠΈΡΡ‹Π²Π°Π΅ΠΌ Π΅Π³ΠΎ

m_Pen.CreatePen (PS_SOLID, m_PenWidth, m_PenColor); // Π² ΠΊΠΎΠ½Ρ‚Скст

m_dcMem.SelectObject (&m_Pen);

}

void CMinipaintDlg: On2()

{

GetMenu ()->CheckMenuItem (ID1, MF_UNCHECKED — MF_BYCOMMAND);

GetMenu ()->CheckMenuItem (ID2, MF_CHECKED — MF_BYCOMMAND);

GetMenu ()->CheckMenuItem (ID3, MF_UNCHECKED — MF_BYCOMMAND);

GetMenu ()->CheckMenuItem (ID4, MF_UNCHECKED — MF_BYCOMMAND);

GetMenu ()->CheckMenuItem (ID5, MF_UNCHECKED — MF_BYCOMMAND);

GetMenu ()->CheckMenuItem (ID6, MF_UNCHECKED — MF_BYCOMMAND);

GetMenu ()->CheckMenuItem (ID7, MF_UNCHECKED — MF_BYCOMMAND);

GetMenu ()->CheckMenuItem (ID8, MF_UNCHECKED — MF_BYCOMMAND);

GetMenu ()->CheckMenuItem (ID9, MF_UNCHECKED — MF_BYCOMMAND);

GetMenu ()->CheckMenuItem (ID10, MF_UNCHECKED — MF_BYCOMMAND);

GetMenu ()->CheckMenuItem (ID15, MF_UNCHECKED — MF_BYCOMMAND);

GetMenu ()->CheckMenuItem (ID20, MF_UNCHECKED — MF_BYCOMMAND);

GetMenu ()->CheckMenuItem (ID30, MF_UNCHECKED — MF_BYCOMMAND);

m_PenWidth=2;

m_Pen.DeleteObject ();

m_Pen.CreatePen (PS_SOLID, m_PenWidth, m_PenColor);

m_dcMem.SelectObject (&m_Pen);

}

void CMinipaintDlg: On3()

{

GetMenu ()->CheckMenuItem (ID1, MF_UNCHECKED — MF_BYCOMMAND);

GetMenu ()->CheckMenuItem (ID2, MF_UNCHECKED — MF_BYCOMMAND);

GetMenu ()->CheckMenuItem (ID3, MF_CHECKED — MF_BYCOMMAND);

GetMenu ()->CheckMenuItem (ID4, MF_UNCHECKED — MF_BYCOMMAND);

GetMenu ()->CheckMenuItem (ID5, MF_UNCHECKED — MF_BYCOMMAND);

GetMenu ()->CheckMenuItem (ID6, MF_UNCHECKED — MF_BYCOMMAND);

GetMenu ()->CheckMenuItem (ID7, MF_UNCHECKED — MF_BYCOMMAND);

GetMenu ()->CheckMenuItem (ID8, MF_UNCHECKED — MF_BYCOMMAND);

GetMenu ()->CheckMenuItem (ID9, MF_UNCHECKED — MF_BYCOMMAND);

GetMenu ()->CheckMenuItem (ID10, MF_UNCHECKED — MF_BYCOMMAND);

GetMenu ()->CheckMenuItem (ID15, MF_UNCHECKED — MF_BYCOMMAND);

GetMenu ()->CheckMenuItem (ID20, MF_UNCHECKED — MF_BYCOMMAND);

GetMenu ()->CheckMenuItem (ID30, MF_UNCHECKED — MF_BYCOMMAND);

m_PenWidth=3;

m_Pen.DeleteObject ();

m_Pen.CreatePen (PS_SOLID, m_PenWidth, m_PenColor);

m_dcMem.SelectObject (&m_Pen);

}

void CMinipaintDlg: On4()

{

GetMenu ()->CheckMenuItem (ID1, MF_UNCHECKED — MF_BYCOMMAND);

GetMenu ()->CheckMenuItem (ID2, MF_UNCHECKED — MF_BYCOMMAND);

GetMenu ()->CheckMenuItem (ID3, MF_UNCHECKED — MF_BYCOMMAND);

GetMenu ()->CheckMenuItem (ID4, MF_CHECKED — MF_BYCOMMAND);

GetMenu ()->CheckMenuItem (ID5, MF_UNCHECKED — MF_BYCOMMAND);

GetMenu ()->CheckMenuItem (ID6, MF_UNCHECKED — MF_BYCOMMAND);

GetMenu ()->CheckMenuItem (ID7, MF_UNCHECKED — MF_BYCOMMAND);

GetMenu ()->CheckMenuItem (ID8, MF_UNCHECKED — MF_BYCOMMAND);

GetMenu ()->CheckMenuItem (ID9, MF_UNCHECKED — MF_BYCOMMAND);

GetMenu ()->CheckMenuItem (ID10, MF_UNCHECKED — MF_BYCOMMAND);

GetMenu ()->CheckMenuItem (ID15, MF_UNCHECKED — MF_BYCOMMAND);

GetMenu ()->CheckMenuItem (ID20, MF_UNCHECKED — MF_BYCOMMAND);

GetMenu ()->CheckMenuItem (ID30, MF_UNCHECKED — MF_BYCOMMAND);

m_PenWidth=4;

m_Pen.DeleteObject ();

m_Pen.CreatePen (PS_SOLID, m_PenWidth, m_PenColor);

m_dcMem.SelectObject (&m_Pen);

}

void CMinipaintDlg: On5()

{

GetMenu ()->CheckMenuItem (ID1, MF_UNCHECKED — MF_BYCOMMAND);

GetMenu ()->CheckMenuItem (ID2, MF_UNCHECKED — MF_BYCOMMAND);

GetMenu ()->CheckMenuItem (ID3, MF_UNCHECKED — MF_BYCOMMAND);

GetMenu ()->CheckMenuItem (ID4, MF_UNCHECKED — MF_BYCOMMAND);

GetMenu ()->CheckMenuItem (ID5, MF_CHECKED — MF_BYCOMMAND);

GetMenu ()->CheckMenuItem (ID6, MF_UNCHECKED — MF_BYCOMMAND);

GetMenu ()->CheckMenuItem (ID7, MF_UNCHECKED — MF_BYCOMMAND);

GetMenu ()->CheckMenuItem (ID8, MF_UNCHECKED — MF_BYCOMMAND);

GetMenu ()->CheckMenuItem (ID9, MF_UNCHECKED — MF_BYCOMMAND);

GetMenu ()->CheckMenuItem (ID10, MF_UNCHECKED — MF_BYCOMMAND);

GetMenu ()->CheckMenuItem (ID15, MF_UNCHECKED — MF_BYCOMMAND);

GetMenu ()->CheckMenuItem (ID20, MF_UNCHECKED — MF_BYCOMMAND);

GetMenu ()->CheckMenuItem (ID30, MF_UNCHECKED — MF_BYCOMMAND);

m_PenWidth=5;

m_Pen.DeleteObject ();

m_Pen.CreatePen (PS_SOLID, m_PenWidth, m_PenColor);

m_dcMem.SelectObject (&m_Pen);

}

void CMinipaintDlg: On6()

{

GetMenu ()->CheckMenuItem (ID1, MF_UNCHECKED — MF_BYCOMMAND);

GetMenu ()->CheckMenuItem (ID2, MF_UNCHECKED — MF_BYCOMMAND);

GetMenu ()->CheckMenuItem (ID3, MF_UNCHECKED — MF_BYCOMMAND);

GetMenu ()->CheckMenuItem (ID4, MF_UNCHECKED — MF_BYCOMMAND);

GetMenu ()->CheckMenuItem (ID5, MF_UNCHECKED — MF_BYCOMMAND);

GetMenu ()->CheckMenuItem (ID6, MF_CHECKED — MF_BYCOMMAND);

GetMenu ()->CheckMenuItem (ID7, MF_UNCHECKED — MF_BYCOMMAND);

GetMenu ()->CheckMenuItem (ID8, MF_UNCHECKED — MF_BYCOMMAND);

GetMenu ()->CheckMenuItem (ID9, MF_UNCHECKED — MF_BYCOMMAND);

GetMenu ()->CheckMenuItem (ID10, MF_UNCHECKED — MF_BYCOMMAND);

GetMenu ()->CheckMenuItem (ID15, MF_UNCHECKED — MF_BYCOMMAND);

GetMenu ()->CheckMenuItem (ID20, MF_UNCHECKED — MF_BYCOMMAND);

GetMenu ()->CheckMenuItem (ID30, MF_UNCHECKED — MF_BYCOMMAND);

m_PenWidth=6;

m_Pen.DeleteObject ();

m_Pen.CreatePen (PS_SOLID, m_PenWidth, m_PenColor);

m_dcMem.SelectObject (&m_Pen);

}

void CMinipaintDlg: On7()

{

GetMenu ()->CheckMenuItem (ID1, MF_UNCHECKED — MF_BYCOMMAND);

GetMenu ()->CheckMenuItem (ID2, MF_UNCHECKED — MF_BYCOMMAND);

GetMenu ()->CheckMenuItem (ID3, MF_UNCHECKED — MF_BYCOMMAND);

GetMenu ()->CheckMenuItem (ID4, MF_UNCHECKED — MF_BYCOMMAND);

GetMenu ()->CheckMenuItem (ID5, MF_UNCHECKED — MF_BYCOMMAND);

GetMenu ()->CheckMenuItem (ID6, MF_UNCHECKED — MF_BYCOMMAND);

GetMenu ()->CheckMenuItem (ID7, MF_CHECKED — MF_BYCOMMAND);

GetMenu ()->CheckMenuItem (ID8, MF_UNCHECKED — MF_BYCOMMAND);

GetMenu ()->CheckMenuItem (ID9, MF_UNCHECKED — MF_BYCOMMAND);

GetMenu ()->CheckMenuItem (ID10, MF_UNCHECKED — MF_BYCOMMAND);

GetMenu ()->CheckMenuItem (ID15, MF_UNCHECKED — MF_BYCOMMAND);

GetMenu ()->CheckMenuItem (ID20, MF_UNCHECKED — MF_BYCOMMAND);

GetMenu ()->CheckMenuItem (ID30, MF_UNCHECKED — MF_BYCOMMAND);

m_PenWidth=7;

m_Pen.DeleteObject ();

m_Pen.CreatePen (PS_SOLID, m_PenWidth, m_PenColor);

m_dcMem.SelectObject (&m_Pen);

}

void CMinipaintDlg: On8()

{

GetMenu ()->CheckMenuItem (ID1, MF_UNCHECKED — MF_BYCOMMAND);

GetMenu ()->CheckMenuItem (ID2, MF_UNCHECKED — MF_BYCOMMAND);

GetMenu ()->CheckMenuItem (ID3, MF_UNCHECKED — MF_BYCOMMAND);

GetMenu ()->CheckMenuItem (ID4, MF_UNCHECKED — MF_BYCOMMAND);

GetMenu ()->CheckMenuItem (ID5, MF_UNCHECKED — MF_BYCOMMAND);

GetMenu ()->CheckMenuItem (ID6, MF_UNCHECKED — MF_BYCOMMAND);

GetMenu ()->CheckMenuItem (ID7, MF_UNCHECKED — MF_BYCOMMAND);

GetMenu ()->CheckMenuItem (ID8, MF_CHECKED — MF_BYCOMMAND);

GetMenu ()->CheckMenuItem (ID9, MF_UNCHECKED — MF_BYCOMMAND);

GetMenu ()->CheckMenuItem (ID10, MF_UNCHECKED — MF_BYCOMMAND);

GetMenu ()->CheckMenuItem (ID15, MF_UNCHECKED — MF_BYCOMMAND);

GetMenu ()->CheckMenuItem (ID20, MF_UNCHECKED — MF_BYCOMMAND);

GetMenu ()->CheckMenuItem (ID30, MF_UNCHECKED — MF_BYCOMMAND);

m_PenWidth=8;

m_Pen.DeleteObject ();

m_Pen.CreatePen (PS_SOLID, m_PenWidth, m_PenColor);

m_dcMem.SelectObject (&m_Pen);

}

void CMinipaintDlg: On9()

{

GetMenu ()->CheckMenuItem (ID1, MF_UNCHECKED — MF_BYCOMMAND);

GetMenu ()->CheckMenuItem (ID2, MF_UNCHECKED — MF_BYCOMMAND);

GetMenu ()->CheckMenuItem (ID3, MF_UNCHECKED — MF_BYCOMMAND);

GetMenu ()->CheckMenuItem (ID4, MF_UNCHECKED — MF_BYCOMMAND);

GetMenu ()->CheckMenuItem (ID5, MF_UNCHECKED — MF_BYCOMMAND);

GetMenu ()->CheckMenuItem (ID6, MF_UNCHECKED — MF_BYCOMMAND);

GetMenu ()->CheckMenuItem (ID7, MF_UNCHECKED — MF_BYCOMMAND);

GetMenu ()->CheckMenuItem (ID8, MF_UNCHECKED — MF_BYCOMMAND);

GetMenu ()->CheckMenuItem (ID9, MF_CHECKED — MF_BYCOMMAND);

GetMenu ()->CheckMenuItem (ID10, MF_UNCHECKED — MF_BYCOMMAND);

GetMenu ()->CheckMenuItem (ID15, MF_UNCHECKED — MF_BYCOMMAND);

GetMenu ()->CheckMenuItem (ID20, MF_UNCHECKED — MF_BYCOMMAND);

GetMenu ()->CheckMenuItem (ID30, MF_UNCHECKED — MF_BYCOMMAND);

m_PenWidth=9;

m_Pen.DeleteObject ();

m_Pen.CreatePen (PS_SOLID, m_PenWidth, m_PenColor);

m_dcMem.SelectObject (&m_Pen);

}

void CMinipaintDlg: On10()

{

GetMenu ()->CheckMenuItem (ID1, MF_UNCHECKED — MF_BYCOMMAND);

GetMenu ()->CheckMenuItem (ID2, MF_UNCHECKED — MF_BYCOMMAND);

GetMenu ()->CheckMenuItem (ID3, MF_UNCHECKED — MF_BYCOMMAND);

GetMenu ()->CheckMenuItem (ID4, MF_UNCHECKED — MF_BYCOMMAND);

GetMenu ()->CheckMenuItem (ID5, MF_UNCHECKED — MF_BYCOMMAND);

GetMenu ()->CheckMenuItem (ID6, MF_UNCHECKED — MF_BYCOMMAND);

GetMenu ()->CheckMenuItem (ID7, MF_UNCHECKED — MF_BYCOMMAND);

GetMenu ()->CheckMenuItem (ID8, MF_UNCHECKED — MF_BYCOMMAND);

GetMenu ()->CheckMenuItem (ID9, MF_UNCHECKED — MF_BYCOMMAND);

GetMenu ()->CheckMenuItem (ID10, MF_CHECKED — MF_BYCOMMAND);

GetMenu ()->CheckMenuItem (ID15, MF_UNCHECKED — MF_BYCOMMAND);

GetMenu ()->CheckMenuItem (ID20, MF_UNCHECKED — MF_BYCOMMAND);

GetMenu ()->CheckMenuItem (ID30, MF_UNCHECKED — MF_BYCOMMAND);

m_PenWidth=10;

m_Pen.DeleteObject ();

m_Pen.CreatePen (PS_SOLID, m_PenWidth, m_PenColor);

m_dcMem.SelectObject (&m_Pen);

}

void CMinipaintDlg: On15()

{

GetMenu ()->CheckMenuItem (ID1, MF_UNCHECKED — MF_BYCOMMAND);

GetMenu ()->CheckMenuItem (ID2, MF_UNCHECKED — MF_BYCOMMAND);

GetMenu ()->CheckMenuItem (ID3, MF_UNCHECKED — MF_BYCOMMAND);

GetMenu ()->CheckMenuItem (ID4, MF_UNCHECKED — MF_BYCOMMAND);

GetMenu ()->CheckMenuItem (ID5, MF_UNCHECKED — MF_BYCOMMAND);

GetMenu ()->CheckMenuItem (ID6, MF_UNCHECKED — MF_BYCOMMAND);

GetMenu ()->CheckMenuItem (ID7, MF_UNCHECKED — MF_BYCOMMAND);

GetMenu ()->CheckMenuItem (ID8, MF_UNCHECKED — MF_BYCOMMAND);

GetMenu ()->CheckMenuItem (ID9, MF_UNCHECKED — MF_BYCOMMAND);

GetMenu ()->CheckMenuItem (ID10, MF_UNCHECKED — MF_BYCOMMAND);

GetMenu ()->CheckMenuItem (ID15, MF_CHECKED — MF_BYCOMMAND);

GetMenu ()->CheckMenuItem (ID20, MF_UNCHECKED — MF_BYCOMMAND);

GetMenu ()->CheckMenuItem (ID30, MF_UNCHECKED — MF_BYCOMMAND);

m_PenWidth=15;

m_Pen.DeleteObject ();

m_Pen.CreatePen (PS_SOLID, m_PenWidth, m_PenColor);

m_dcMem.SelectObject (&m_Pen);

}

void CMinipaintDlg: On20()

{

GetMenu ()->CheckMenuItem (ID1, MF_UNCHECKED — MF_BYCOMMAND);

GetMenu ()->CheckMenuItem (ID2, MF_UNCHECKED — MF_BYCOMMAND);

GetMenu ()->CheckMenuItem (ID3, MF_UNCHECKED — MF_BYCOMMAND);

GetMenu ()->CheckMenuItem (ID4, MF_UNCHECKED — MF_BYCOMMAND);

GetMenu ()->CheckMenuItem (ID5, MF_UNCHECKED — MF_BYCOMMAND);

GetMenu ()->CheckMenuItem (ID6, MF_UNCHECKED — MF_BYCOMMAND);

GetMenu ()->CheckMenuItem (ID7, MF_UNCHECKED — MF_BYCOMMAND);

GetMenu ()->CheckMenuItem (ID8, MF_UNCHECKED — MF_BYCOMMAND);

GetMenu ()->CheckMenuItem (ID9, MF_UNCHECKED — MF_BYCOMMAND);

GetMenu ()->CheckMenuItem (ID10, MF_UNCHECKED — MF_BYCOMMAND);

GetMenu ()->CheckMenuItem (ID15, MF_UNCHECKED — MF_BYCOMMAND);

GetMenu ()->CheckMenuItem (ID20, MF_CHECKED — MF_BYCOMMAND);

GetMenu ()->CheckMenuItem (ID30, MF_UNCHECKED — MF_BYCOMMAND);

m_PenWidth=20;

m_Pen.DeleteObject ();

m_Pen.CreatePen (PS_SOLID, m_PenWidth, m_PenColor);

m_dcMem.SelectObject (&m_Pen);

}

void CMinipaintDlg: On30()

{

GetMenu ()->CheckMenuItem (ID1, MF_UNCHECKED — MF_BYCOMMAND);

GetMenu ()->CheckMenuItem (ID2, MF_UNCHECKED — MF_BYCOMMAND);

GetMenu ()->CheckMenuItem (ID3, MF_UNCHECKED — MF_BYCOMMAND);

GetMenu ()->CheckMenuItem (ID4, MF_UNCHECKED — MF_BYCOMMAND);

GetMenu ()->CheckMenuItem (ID5, MF_UNCHECKED — MF_BYCOMMAND);

GetMenu ()->CheckMenuItem (ID6, MF_UNCHECKED — MF_BYCOMMAND);

GetMenu ()->CheckMenuItem (ID7, MF_UNCHECKED — MF_BYCOMMAND);

GetMenu ()->CheckMenuItem (ID8, MF_UNCHECKED — MF_BYCOMMAND);

GetMenu ()->CheckMenuItem (ID9, MF_UNCHECKED — MF_BYCOMMAND);

GetMenu ()->CheckMenuItem (ID10, MF_UNCHECKED — MF_BYCOMMAND);

GetMenu ()->CheckMenuItem (ID15, MF_UNCHECKED — MF_BYCOMMAND);

GetMenu ()->CheckMenuItem (ID20, MF_UNCHECKED — MF_BYCOMMAND);

GetMenu ()->CheckMenuItem (ID30, MF_CHECKED — MF_BYCOMMAND);

m_PenWidth=30;

m_Pen.DeleteObject ();

m_Pen.CreatePen (PS_SOLID, m_PenWidth, m_PenColor);

m_dcMem.SelectObject (&m_Pen);

}

void CMinipaintDlg: OnPencolor ()

{ // Π²Ρ‹Π±ΠΎΡ€ Ρ†Π²Π΅Ρ‚Π° ΠΏΠ΅Ρ€Π°

CColorDialog clrDlg; // ΠΏΠΎΠ΄Π³ΠΎΡ‚Π°Π²Π»ΠΈΠ²Π°Π΅ΠΌ Π΄ΠΈΠ°Π»ΠΎΠ³ Π²Ρ‹Π±ΠΎΡ€Π° Ρ†Π²Π΅Ρ‚Π°

clrDlg.m_cc.lStructSize=sizeof (clrDlg.m_cc);

clrDlg.m_cc.rgbResult=m_PenColor; // устанавливаСм исходный Ρ†Π²Π΅Ρ‚

if (m_addColors ≠ NULL) // Ссли ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΡΠΊΠΈΠ΅ Ρ†Π²Π΅Ρ‚Π° ΡΠΎΡ…Ρ€Π°Π½ΡΠ»ΠΈΡΡŒ

clrDlg.m_cc.lpCustColors=m_addColors; // восстанавливаСм ΠΈΡ…

clrDlg.m_cc.Flags=CC_ENABLEHOOK — CC_FULLOPEN — CC_RGBINIT;

if (clrDlg.DoModal () == IDOK){ // Π΄ΠΈΠ°Π»ΠΎΠ³ закончился Π½Π°ΠΆΠ°Ρ‚ΠΈΠ΅ΠΌ ОК

m_addColors=clrDlg.GetSavedCustomColors (); // сохраняСм ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΡΠΊΠΈΠ΅ Ρ†Π²Π΅Ρ‚Π°

m_PenColor=clrDlg.GetColor (); // фиксируСм Π²Ρ‹Π±Ρ€Π°Π½Π½Ρ‹ΠΉ Ρ†Π²Π΅Ρ‚

UpdateMenuBmp (penColor, m_PenColor); // обновляСм ΠΈΠ½Π΄ΠΈΠΊΠ°Ρ‚ΠΎΡ€

m_Pen.DeleteObject (); // создаСм Π½ΠΎΠ²ΠΎΠ΅ ΠΏΠ΅Ρ€ΠΎ

m_Pen.CreatePen (PS_SOLID, m_PenWidth, m_PenColor);

m_dcMem.SelectObject (&m_Pen); // ΠΈ ΠΏΡ€ΠΎΠΏΠΈΡΡ‹Π²Π°Π΅ΠΌ Π΅Π³ΠΎ Π² ΠΊΠΎΠ½Ρ‚Скст

}

}

void CMinipaintDlg: OnBrushcolor ()

{

CColorDialog clrDlg; // ΠΏΠΎΠ΄Π³ΠΎΡ‚Π°Π²Π»ΠΈΠ²Π°Π΅ΠΌ Π΄ΠΈΠ°Π»ΠΎΠ³ Π²Ρ‹Π±ΠΎΡ€Π° Ρ†Π²Π΅Ρ‚Π°

clrDlg.m_cc.lStructSize=sizeof (clrDlg.m_cc);

clrDlg.m_cc.rgbResult=m_BrushColor; // устанавливаСм исходный Ρ†Π²Π΅Ρ‚

if (m_addColors ≠ NULL) // Ссли ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΡΠΊΠΈΠ΅ Ρ†Π²Π΅Ρ‚Π° ΡΠΎΡ…Ρ€Π°Π½ΡΠ»ΠΈΡΡŒ

clrDlg.m_cc.lpCustColors=m_addColors; // восстанавливаСм ΠΈΡ…

clrDlg.m_cc.Flags=CC_ENABLEHOOK — CC_FULLOPEN — CC_RGBINIT;

if (clrDlg.DoModal () == IDOK){ // Π΄ΠΈΠ°Π»ΠΎΠ³ закончился Π½Π°ΠΆΠ°Ρ‚ΠΈΠ΅ΠΌ ОК

m_addColors=clrDlg.GetSavedCustomColors (); // сохраняСм ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΡΠΊΠΈΠ΅ Ρ†Π²Π΅Ρ‚Π°

m_BrushColor=clrDlg.GetColor (); // фиксируСм Π²Ρ‹Π±Ρ€Π°Π½Π½Ρ‹ΠΉ Ρ†Π²Π΅Ρ‚

UpdateMenuBmp (brushColor, m_BrushColor); // обновляСм ΠΈΠ½Π΄ΠΈΠΊΠ°Ρ‚ΠΎΡ€

m_Brush.DeleteObject ();

m_Brush.CreateSolidBrush (m_BrushColor); // создаСм Π½ΠΎΠ²ΡƒΡŽ ΠΊΠΈΡΡ‚ΡŒ

m_dcMem.SelectObject (&m_Brush); // ΠΈ ΠΏΡ€ΠΎΠΏΠΈΡΡ‹Π²Π°Π΅ΠΌ Π΅Π΅ Π² ΠΊΠΎΠ½Ρ‚Скст

}

}

BOOL CMinipaintDlg: OnSetCursor (CWnd* pWnd, UINT nHitTest, UINT message)

{ // функция Π·Π°ΠΌΠ΅Π½Ρ‹ курсора

if (m_Curs){ // Ссли Π·Π°ΠΌΠ΅Π½Π° курсора Π½ΡƒΠΆΠ½Π°

:SetCursor (AfxGetApp ()->LoadStandardCursor (

m_drawmode == 4? IDC_SIZEALL: IDC_CROSS));

return TRUE; // мСняСм курсор Π² Π·Π°Π²ΠΈΡΠΈΠΌΠΎΡΡ‚ΠΈ ΠΎΡ‚ Π²Ρ‹Π±Ρ€Π°Π½Π½ΠΎΠ³ΠΎ инструмСнта

}

return CDialog: OnSetCursor (pWnd, nHitTest, message);

}

void CMinipaintDlg: OnDestroy ()

{

CDialog:OnDestroy ();

if (m_hBmpNew ≠ NULL){

DeleteObject (m_hBmpNew); // ΡƒΠΆΠ΅ Ρ€Π°Π±ΠΎΡ‚Π°Π»ΠΈ с ΠΈΠ·ΠΎΠ±Ρ€Π°ΠΆΠ΅Π½ΠΈΠ΅ΠΌ — освобоТдаСм ΠΏΠ°ΠΌΡΡ‚ΡŒ

VERIFY (SelectObject (m_dcMem, m_hBmpOld)); // Π²ΠΎΠ·Π²Ρ€Π°Ρ‰Π°Π΅ΠΌ BMP ΠΏΠΎ ΡƒΠΌΠΎΠ»Ρ‡Π°Π½ΠΈΡŽ

m_dcMem.DeleteDC ();

}

}

NewImage.h

#if !defined (AFX_NEWIMAGE_H__8CB64A00_1C31_4F68_A236_C8B41F46E8AA__INCLUDED_)

#define AFX_NEWIMAGE_H__8CB64A00_1C31_4F68_A236_C8B41F46E8AA__INCLUDED_

#if _MSC_VER > 1000

#pragma once

#endif // _MSC_VER > 1000

// NewImage. h: header file

// NewImage dialog

class NewImage: public CDialog

{

// Construction

public:

NewImage (CWnd* pParent = NULL); // standard constructor

int m_width; // ввСдСнная ΡˆΠΈΡ€ΠΈΠ½Π° рисунка

int m_height; // ввСдСнная высота рисунка

// Dialog Data

//{{AFX_DATA (NewImage)

enum { IDD = IDD_DIALOG1 };

CSpinButtonCtrl m_Spin2;

CSpinButtonCtrl m_Spin1;

CEdit m_Edit2;

CEdit m_Edit1;

//}}AFX_DATA

// Overrides

// ClassWizard generated virtual function overrides

//{{AFX_VIRTUAL (NewImage)

protected:

virtual void DoDataExchange (CDataExchange* pDX); // DDX/DDV support

//}}AFX_VIRTUAL

// Implementation

protected:

// Generated message map functions

//{{AFX_MSG (NewImage)

virtual BOOL OnInitDialog ();

afx_msg void OnKillfocusEdit1();

afx_msg void OnKillfocusEdit2();

virtual void OnOK ();

//}}AFX_MSG

DECLARE_MESSAGE_MAP ()

};

//{{AFX_INSERT_LOCATION}}

// Microsoft Visual C++ will insert additional declarations immediately before the previous line.

#endif // !defined (AFX_NEWIMAGE_H__8CB64A00_1C31_4F68_A236_C8B41F46E8AA__INCLUDED_)

NewImage.cpp

// NewImage. cpp: implementation file

#include «stdafx.h»

#include «minipaint.h»

#include «NewImage.h»

#ifdef _DEBUG

#define new DEBUG_NEW

#undef THIS_FILE

static char THIS_FILE[] = __FILE__;

#endif

// NewImage dialog

NewImage:NewImage (CWnd* pParent /*=NULL*/)

: CDialog (NewImage:IDD, pParent)

{

//{{AFX_DATA_INIT (NewImage)

// NOTE: the ClassWizard will add member initialization here

//}}AFX_DATA_INIT

}

void NewImage: DoDataExchange (CDataExchange* pDX)

{

CDialog:DoDataExchange (pDX);

//{{AFX_DATA_MAP (NewImage)

DDX_Control (pDX, IDC_SPIN2, m_Spin2);

DDX_Control (pDX, IDC_SPIN1, m_Spin1);

DDX_Control (pDX, IDC_EDIT2, m_Edit2);

DDX_Control (pDX, IDC_EDIT1, m_Edit1);

//}}AFX_DATA_MAP

}

BEGIN_MESSAGE_MAP (NewImage, CDialog)

//{{AFX_MSG_MAP (NewImage)

ON_EN_KILLFOCUS (IDC_EDIT1, OnKillfocusEdit1)

ON_EN_KILLFOCUS (IDC_EDIT2, OnKillfocusEdit2)

//}}AFX_MSG_MAP

END_MESSAGE_MAP ()

// NewImage message handlers

BOOL NewImage: OnInitDialog ()

{

CDialog:OnInitDialog ();

m_Spin1.SetRange (8,2048); // устанавливаСм Π΄ΠΈΠ°ΠΏΠ°Π·ΠΎΠ½ измСнСния ΡˆΠΈΡ€ΠΈΠ½Ρ‹ изобраТСния

m_Spin1.SetPos (743); // ΡˆΠΈΡ€ΠΈΠ½Π° ΠΏΠΎ ΡƒΠΌΠΎΠ»Ρ‡Π΅Π½ΠΈΡŽ

m_Spin2.SetRange (8,2048); // устанавливаСм Π΄ΠΈΠ°ΠΏΠ°Π·ΠΎΠ½ измСнСния высоты изобраТСния

m_Spin2.SetPos (465); // высота ΠΏΠΎ ΡƒΠΌΠΎΠ»Ρ‡Π°Π½ΠΈΡŽ

return TRUE; // return TRUE unless you set the focus to a control

// EXCEPTION: OCX Property Pages should return FALSE

}

void NewImage: OnKillfocusEdit1()

{

UpdateData (); // синхронизация элСмСнта Π²Π²ΠΎΠ΄Π° ΠΈ ΡΠΏΠΈΠ½Π½Π΅Ρ€Π° ΠΏΡ€ΠΈ Π²Π²ΠΎΠ΄Π΅ Π²Ρ€ΡƒΡ‡Π½ΡƒΡŽ

CString buf;

m_Edit1.GetWindowText (buf);

m_Spin1.SetPos (atoi ((LPCTSTR)buf));

UpdateData (FALSE);

}

void NewImage: OnKillfocusEdit2()

{

UpdateData ();

CString buf;

m_Edit2.GetWindowText (buf);

m_Spin2.SetPos (atoi ((LPCTSTR)buf));

UpdateData (FALSE);

}

void NewImage: OnOK ()

{

m_width=m_Spin1.GetPos (); // ΠΏΠ΅Ρ€Π΅Π΄ Π·Π°ΠΊΡ€Ρ‹Ρ‚ΠΈΠ΅ΠΌ Π΄ΠΈΠ°Π»ΠΎΠ³Π° сохраняСм Π²Π²Π΅Π΄Π΅Π½Π½Ρ‹Π΅ значСния

m_height=m_Spin2.GetPos (); // ΡˆΠΈΡ€ΠΈΠ½Ρ‹ ΠΈ Π²Ρ‹ΡΠΎΡ‚Ρ‹

CDialog:OnOK ();

}

5. Π‘ΠΊΡ€ΠΈΠ½ΡˆΠΎΡ‚Ρ‹ Ρ€Π°Π±ΠΎΡ‚Ρ‹ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ½ΠΎΠ³ΠΎ обСспСчСния ΠΏΠΎ Π²ΡΠ΅ΠΌ функциям, Π·Π°Π»ΠΎΠΆΠ΅Π½Π½Ρ‹ΠΌ Π² Ρ‚СхничСском Π·Π°Π΄Π°Π½ΠΈΠΈ На Ρ€ΠΈΡ.

5 ΠΈ Ρ€ΠΈΡ.

6 прСдставлСны ΡΠΊΡ€ΠΈΠ½ΡˆΠΎΡ‚Ρ‹ Ρ€Π°Π±ΠΎΡ‚Ρ‹ графичСского Ρ€Π΅Π΄Π°ΠΊΡ‚ΠΎΡ€Π°, ΠΏΡ€ΠΈΡ‡Π΅ΠΌ Π½Π° Ρ€ΠΈΡ.

5. прСдставлСны Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚Ρ‹ отрисовки Ρ€Π°Π·Π»ΠΈΡ‡Π½Ρ‹Ρ… ΠΏΡ€ΠΈΠΌΠΈΡ‚ΠΈΠ²ΠΎΠ² Π² Π½ΠΎΠ²ΠΎΠΌ ΠΈΠ·ΠΎΠ±Ρ€Π°ΠΆΠ΅Π½ΠΈΠΈ, Π° Π½Π° Ρ€ΠΈΡ.

6 прСдставлСны Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚Ρ‹ ΠΊΠΎΡ€Ρ€Π΅ΠΊΡ‚ΠΈΡ€ΠΎΠ²ΠΊΠΈ изобраТСния, считанного ΠΈΠ· Ρ„Π°ΠΉΠ»Π°.

Рис.

5.НовоС ΠΈΠ·ΠΎΠ±Ρ€Π°ΠΆΠ΅Π½ΠΈΠ΅

Рис.

5.ΠšΠΎΡ€Ρ€Π΅ΠΊΡ‚ΠΈΡ€ΠΎΠ²ΠΊΠ° считанного изобраТСния

6. ВСхничСскиС условия примСнСния ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ½ΠΎΠ³ΠΎ обСспСчСния ΠΈ ΠΈΠ½ΡΡ‚рукция ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Ρ Π Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠ° ΠΈ Ρ‚СстированиС ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹ ΠΎΡΡƒΡ‰Π΅ΡΡ‚Π²Π»ΡΠ»ΠΈΡΡŒ Π½Π° ΠΊΠΎΠΌΠΏΡŒΡŽΡ‚Π΅Ρ€Π΅ со ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠΌΠΈ тСхничСскими характСристиками:

процСссор Intel Celeron 430 1.8 Π“Π“Ρ†;

1 Π“Π± ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΈΠ²Π½ΠΎΠΉ памяти;

ТСсткий диск объСмом 360 Π“Π±;

опСрационная систСма Windows XP Professional 2002 SP3;

срСдство Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ Visual C++.

Π’ ΠΊΠ°Ρ‡Π΅ΡΡ‚Π²Π΅ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ½ΠΎΠ³ΠΎ срСдства Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ Π±Ρ‹Π»Π° Π²Ρ‹Π±Ρ€Π°Π½Π° систСма программирования Visual C++. Π’Ρ‹Π±ΠΎΡ€ систСмы программирования обусловлСн Π·Π°Π΄Π°Π½ΠΈΠ΅ΠΌ Π½Π° ΠΊΡƒΡ€ΡΠΎΠ²ΡƒΡŽ Ρ€Π°Π±ΠΎΡ‚Ρƒ.

ΠŸΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ° Π½Π΅ ΠΏΡ€Π΅Π΄ΡŠΡΠ²Π»ΡΠ΅Ρ‚ особых Ρ‚Ρ€Π΅Π±ΠΎΠ²Π°Π½ΠΈΠΉ ΠΊ Π°ΠΏΠΏΠ°Ρ€Π°Ρ‚Π½ΠΎΠΌΡƒ ΠΎΠ±Π΅ΡΠΏΠ΅Ρ‡Π΅Π½ΠΈΡŽ, для Π΅Π΅ Π½ΠΎΡ€ΠΌΠ°Π»ΡŒΠ½ΠΎΠΉ Ρ€Π°Π±ΠΎΡ‚Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚ Π±Ρ‹Ρ‚ΡŒ использован любой ΠΊΠΎΠΌΠΏΡŒΡŽΡ‚Π΅Ρ€ ΠΏΠΎΠ΄ ΡƒΠΏΡ€Π°Π²Π»Π΅Π½ΠΈΠ΅ΠΌ 32-Ρ… разрядной ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΎΠ½Π½ΠΎΠΉ систСмы сСмСйства Windows. Наличия ΠΊΠ°ΠΊΠΈΡ… Π±Ρ‹ Ρ‚ΠΎ Π½ΠΈ Π±Ρ‹Π»ΠΎ установлСнных ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ½Ρ‹Ρ… срСдств Π½Π΅ Ρ‚рСбуСтся.

Установка ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹ сводится ΠΊ ΠΊΠΎΠΏΠΈΡ€ΠΎΠ²Π°Π½ΠΈΡŽ Π² Π²Ρ‹Π±Ρ€Π°Π½Π½ΠΎΠ΅ мСсто ΠΏΠ°ΠΏΠΊΠΈ, содСрТащСй исполняСмый Ρ„Π°ΠΉΠ».

Для ΡƒΡΠΏΠ΅ΡˆΠ½ΠΎΠΉ Ρ€Π°Π±ΠΎΡ‚Ρ‹ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹ ΠΏΠ΅Ρ€ΡΠΎΠ½Π°Π»ΡŒΠ½Ρ‹ΠΉ ΠΊΠΎΠΌΠΏΡŒΡŽΡ‚Π΅Ρ€ Π΄ΠΎΠ»ΠΆΠ΅Π½ ΡΠΎΠΎΡ‚Π²Π΅Ρ‚ΡΡ‚Π²ΠΎΠ²Π°Ρ‚ΡŒ ΠΌΠΈΠ½ΠΈΠΌΠ°Π»ΡŒΠ½Ρ‹ΠΌ трСбованиям, достаточным для функционирования установлСнной Π½Π° Π½Π΅ΠΌ ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΎΠ½Π½ΠΎΠΉ систСмы.

Для установки ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹ достаточно 1 Мb ΡΠ²ΠΎΠ±ΠΎΠ΄Π½ΠΎΠ³ΠΎ мСста Π½Π° ΠΆΠ΅ΡΡ‚ΠΊΠΎΠΌ дискС.

Эксплуатация ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹ Π½Π΅ Ρ‚Ρ€Π΅Π±ΡƒΠ΅Ρ‚ особых Π½Π°Π²Ρ‹ΠΊΠΎΠ² Π·Π° ΠΏΡ€Π΅Π΄Π΅Π»Π°ΠΌΠΈ знакомства со ΡΡ‚Π°Π½Π΄Π°Ρ€Ρ‚Π½Ρ‹ΠΌ интСрфСйсом ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΎΠ½Π½ΠΎΠΉ систСмы.

Рассмотрим Π΄ΠΈΠ°Π»ΠΎΠ³ΠΈ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹ ΠΈ Π΅Π΅ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ.

Π˜Π½Ρ‚Π΅Ρ€Ρ„Π΅ΠΉΡ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹ основан Π½Π° ΡΠΈΡΡ‚Π΅ΠΌΠ΅ мСню. ΠžΡΠ½ΠΎΠ²Π½Ρ‹Π΅ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹ ΠΎΡΡƒΡ‰Π΅ΡΡ‚Π²Π»ΡΡŽΡ‚ΡΡ ΠΏΡƒΡ‚Π΅ΠΌ Π²Ρ‹Π±ΠΎΡ€Π° ΡΠΎΠΎΡ‚Π²Π΅Ρ‚ΡΡ‚Π²ΡƒΡŽΡ‰ΠΈΡ… ΠΏΡƒΠ½ΠΊΡ‚ΠΎΠ² мСню ΠΈ Π½Π°ΠΆΠ°Ρ‚ия Π½Π° ΠΊΠ½ΠΎΠΏΠΊΠΈ, содСрТащиСся Π² Π΄ΠΈΠ°Π»ΠΎΠ³Π°Ρ….

Π’ ΠΌΠ΅Π½ΡŽ «Π€Π°ΠΉΠ»» ΠΈΠΌΠ΅ΡŽΡ‚ΡΡ ΠΏΡƒΠ½ΠΊΡ‚Ρ‹, ΠΏΠΎΠ·Π²ΠΎΠ»ΡΡŽΡ‰ΠΈΠ΅ ΡΠΎΠ·Π΄Π°Ρ‚ΡŒ Π½ΠΎΠ²ΠΎΠ΅ ΠΈΠ·ΠΎΠ±Ρ€Π°ΠΆΠ΅Π½ΠΈΠ΅, ΠΎΡ‚ΠΊΡ€Ρ‹Ρ‚ΡŒ графичСский Ρ„Π°ΠΉΠ» ΠΈ Π·Π°Π³Ρ€ΡƒΠ·ΠΈΡ‚ΡŒ ΠΈΠ·ΠΎΠ±Ρ€Π°ΠΆΠ΅Π½ΠΈΠ΅ ΠΈΠ· Π½Π΅Π³ΠΎ, ΡΠΎΡ…Ρ€Π°Π½ΠΈΡ‚ΡŒ ΠΎΡ‚Ρ€Π΅Π΄Π°ΠΊΡ‚ΠΈΡ€ΠΎΠ²Π°Π½Π½Ρ‹ΠΉ Ρ„Π°ΠΉΠ» ΠΈ Π·Π°Π²Π΅Ρ€ΡˆΠΈΡ‚ΡŒ Ρ€Π°Π±ΠΎΡ‚Ρƒ прилоТСния.

Π Π°Π±ΠΎΡ‚Π° с ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠΎΠΉ начинаСтся с Π²Ρ‹Π±ΠΎΡ€Π° изобраТСния для рСдактирования. ΠœΠΎΠΆΠ΅Ρ‚ Π±Ρ‹Ρ‚ΡŒ Π²Ρ‹Π±Ρ€Π°Π½ΠΎ Π½ΠΎΠ²ΠΎΠ΅ ΠΈΠ·ΠΎΠ±Ρ€Π°ΠΆΠ΅Π½ΠΈΠ΅ (рис.

6), Π»ΠΈΠ±ΠΎ ΠΈΠ·ΠΎΠ±Ρ€Π°ΠΆΠ΅Π½ΠΈΠ΅ ΠΈΠ· Ρ„Π°ΠΉΠ»Π° (рис.

7).

ПослС задания ΠΏΠ°Ρ€ΠΌΠ΅Ρ‚Ρ€ΠΎΠ² Π½ΠΎΠ²ΠΎΠ³ΠΎ изобраТСния ΠΈΠ»ΠΈ считывания изобраТСния ΠΈΠ· Ρ„Π°ΠΉΠ»Π° ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ Π³ΠΎΡ‚ΠΎΠ²ΠΎ ΠΊ Ρ€Π°Π±ΠΎΡ‚Π΅. ΠŸΠ΅Ρ€Π²ΠΎΠ½Π°Ρ‡Π°Π»ΡŒΠ½ΠΎ установлСн инструмСнт «ΠšΠ°Ρ€Π°Π½Π΄Π°Ρˆ», Ρ†Π²Π΅Ρ‚ Π»ΠΈΠ½ΠΈΠΉ ΠΊΠΎΠ½Ρ‚ΡƒΡ€Π° синий, Ρ†Π²Π΅Ρ‚ Π·Π°Π»ΠΈΠ²ΠΊΠΈ Π±Π΅Π»Ρ‹ΠΉ, ΡˆΠΈΡ€ΠΈΠ½Π° Π»ΠΈΠ½ΠΈΠΉ ΠΊΠΎΠ½Ρ‚ΡƒΡ€Π° 1.

Рис.

6. Π”ΠΈΠ°Π»ΠΎΠ³ задания ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€ΠΎΠ² Π½ΠΎΠ²ΠΎΠ³ΠΎ изобраТСния

Рис.

7. Π”ΠΈΠ°Π»ΠΎΠ³ Π²Ρ‹Π±ΠΎΡ€Π° Ρ„Π°ΠΉΠ»Π° изобраТСния Π’ ΠΌΠ΅Π½ΡŽ «Π˜Π½ΡΡ‚Ρ€ΡƒΠΌΠ΅Π½Ρ‚» ΠΌΠΎΠΆΠ½ΠΎ Π²Ρ‹Π±Ρ€Π°Ρ‚ΡŒ графичСский ΠΏΡ€ΠΈΠΌΠΈΡ‚ΠΈΠ² для рисования. ΠœΠΎΠΆΠ΅Ρ‚ Π±Ρ‹Ρ‚ΡŒ Π²Ρ‹Π±Ρ€Π°Π½ «ΠšΠ°Ρ€Π°Π½Π΄Π°Ρˆ», «Π›ΠΈΠ½ΠΈΡ», «ΠŸΡ€ΡΠΌΠΎΡƒΠ³ΠΎΠ»ΡŒΠ½ΠΈΠΊ», «Π­Π»Π»ΠΈΠΏΡ» ΠΈΠ»ΠΈ «Π—Π°Π»ΠΈΠ²ΠΊΠ°».

Π Π΅ΠΆΠΈΠΌ «ΠšΠ°Ρ€Π°Π½Π΄Π°Ρˆ» ΠΎΠ·Π½Π°Ρ‡Π°Π΅Ρ‚, Ρ‡Ρ‚ΠΎ ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Ρ‰Π΅Π½ΠΈΠ΅ ΠΌΡ‹ΡˆΠΈ с Π½Π°ΠΆΠ°Ρ‚ΠΎΠΉ Π»Π΅Π²ΠΎΠΉ ΠΊΠ½ΠΎΠΏΠΊΠΎΠΉ ΠΏΡ€ΠΈΠ²ΠΎΠ΄ΠΈΡ‚ ΠΊ Ρ€ΠΈΡΠΎΠ²Π°Π½ΠΈΡŽ слСда ΠΌΡ‹ΡˆΠΈ.

Π Π΅ΠΆΠΈΠΌΡ‹ «Π›ΠΈΠ½ΠΈΡ», «ΠŸΡ€ΡΠΌΠΎΡƒΠ³ΠΎΠ»ΡŒΠ½ΠΈΠΊ» ΠΈ «Π­Π»Π»ΠΈΠΏΡ» соотвСтствуСт Ρ‚Π°ΠΊ Π½Π°Π·Ρ‹Π²Π°Π΅ΠΌΡ‹ΠΌ «Ρ€Π΅Π·ΠΈΠ½ΠΎΠ²Ρ‹ΠΌ Ρ„ΠΈΠ³ΡƒΡ€Π°ΠΌ», Ρ‚ΠΎ Π΅ΡΡ‚ΡŒ Π½Π°ΠΆΠ°Ρ‚ΠΈΠ΅ΠΌ Π»Π΅Π²ΠΎΠΉ ΠΊΠ½ΠΎΠΏΠΊΠΈ ΠΌΡ‹ΡˆΠΈ Ρ„ΠΈΠΊΡΠΈΡ€ΡƒΡŽΡ‚ΡΡ ΠΊΠΎΠΎΡ€Π΄ΠΈΠ½Π°Ρ‚Ρ‹ Π½Π°Ρ‡Π°Π»Π° рисования Ρ„ΠΈΠ³ΡƒΡ€Ρ‹, отпусканиСм Π»Π΅Π²ΠΎΠΉ ΠΊΠ½ΠΎΠΏΠΊΠΈ ΠΌΡ‹ΡˆΠΈ Ρ„ΠΈΠΊΡΠΈΡ€ΡƒΡŽΡ‚ΡΡ ΠΊΠΎΠΎΡ€Π΄ΠΈΠ½Π°Ρ‚Ρ‹ ΠΊΠΎΠ½Ρ†Π° рисования.

Π’ ΠΏΠ΅Ρ€Π΅Ρ‡ΠΈΡΠ»Π΅Π½Π½Ρ‹Ρ… Ρ€Π΅ΠΆΠΈΠΌΠ°Ρ… курсор ΠΈΠΌΠ΅Π΅Ρ‚ Π²ΠΈΠ΄ пСрСкрСстия.

Π’ Ρ€Π΅ΠΆΠΈΠΌΠ΅ «Π—Π°Π»ΠΈΠ²ΠΊΠ°» Π½Π°ΠΆΠ°Ρ‚ΠΈΠ΅ Π»Π΅Π²ΠΎΠΉ ΠΊΠ½ΠΎΠΏΠΊΠΈ ΠΌΡ‹ΡˆΠΈ Π² Π½Π΅ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΉ области, ΠΎΠ³Ρ€Π°Π½ΠΈΡ‡Π΅Π½Π½ΠΎΠΉ линиями Π΄Ρ€ΡƒΠ³ΠΎΠ³ΠΎ Ρ†Π²Π΅Ρ‚Π°, ΠΏΡ€ΠΈΠ²ΠΎΠ΄ΠΈΡ‚ ΠΊ Π·Π°ΠΊΡ€Π°ΡˆΠΈΠ²Π°Π½ΠΈΡŽ этой области Ρ‚Π΅ΠΊΡƒΡ‰ΠΈΠΌ Ρ†Π²Π΅Ρ‚ΠΎΠΌ ΠΏΠ΅Ρ€Π°. Π’ ΡΡ‚ΠΎΠΌ Ρ€Π΅ΠΆΠΈΠΌΠ΅ курсор ΠΈΠΌΠ΅Π΅Ρ‚ Π²ΠΈΠ΄ пСрСкрСстия со ΡΡ‚Ρ€Π΅Π»ΠΎΡ‡ΠΊΠ°ΠΌΠΈ Π½Π° ΠΊΠΎΠ½Ρ†Π°Ρ….

Π’ ΠΌΠ΅Π½ΡŽ «Π¦Π²Π΅Ρ‚» ΠΌΠΎΠΆΠ½ΠΎ Π·Π°Π΄Π°Ρ‚ΡŒ Ρ†Π²Π΅Ρ‚ рисования ΠΊΠΎΠ½Ρ‚ΡƒΡ€ΠΎΠ² ΠΈ Ρ†Π²Π΅Ρ‚ Π·Π°Π»ΠΈΠ²ΠΊΠΈ ΠΎΡ‚ΠΎΠ±Ρ€Π°ΠΆΠ°Π΅ΠΌΡ‹Ρ… Ρ„ΠΈΠ³ΡƒΡ€ (ΠΏΡ€ΡΠΌΠΎΡƒΠ³ΠΎΠ»ΡŒΠ½ΠΈΠΊΠΎΠ² ΠΈ ΡΠ»Π»ΠΈΠΏΡΠΎΠ²). Π”ΠΈΠ°Π»ΠΎΠ³ Π²Ρ‹Π±ΠΎΡ€Π° Ρ†Π²Π΅Ρ‚Π° ΠΏΠΎΠΊΠ°Π·Π°Π½ Π½Π° Ρ€ΠΈΡ.

8.

Рис.

8. Π”ΠΈΠ°Π»ΠΎΠ³ Π²Ρ‹Π±ΠΎΡ€Π° Ρ†Π²Π΅Ρ‚Π° Π’ ΠΌΠ΅Π½ΡŽ «Π’ΠΎΠ»Ρ‰ΠΈΠ½Π°» ΠΌΠΎΠΆΠ½ΠΎ Π·Π°Π΄Π°Ρ‚ΡŒ ΡˆΠΈΡ€ΠΈΠ½Ρƒ Π»ΠΈΠ½ΠΈΠΉ ΠΊΠΎΠ½Ρ‚ΡƒΡ€Π° Π² Π΄ΠΈΠ°ΠΏΠ°Π·ΠΎΠ½Π΅ ΠΎΡ‚ 1 Π΄ΠΎ 30.

ΠžΠ±Ρ‰ΠΈΠΉ Π²ΠΈΠ΄ прилоТСния ΠΏΠΎΠΊΠ°Π·Π°Π½ Π½Π° Ρ€ΠΈΡ.

9.

Рис.

9. ΠžΠ±Ρ‰ΠΈΠΉ Π²ΠΈΠ΄ прилоТСния

Π—Π°ΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΠ΅

ΠŸΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ° Ρ€Π΅Π°Π»ΠΈΠ·ΠΎΠ²Π°Π½Π° Π² ΡΠΎΠΎΡ‚вСтствии с ΠΏΠΎΡΡ‚Π°Π²Π»Π΅Π½Π½ΠΎΠΉ Π·Π°Π΄Π°Ρ‡Π΅ΠΉ ΠΈ ΠΌΠΎΠΆΠ΅Ρ‚ Π±Ρ‹Ρ‚ΡŒ ΠΏΡ€ΠΈΠΌΠ΅Π½Π΅Π½Π° Π½Π° ΠΏΡ€Π°ΠΊΡ‚ΠΈΠΊΠ΅, хотя, бСзусловно, для ΡΠ΅Ρ€ΡŒΠ΅Π·Π½ΠΎΠΉ Ρ€Π°Π±ΠΎΡ‚Ρ‹ с ΠΈΠ·ΠΎΠ±Ρ€Π°ΠΆΠ΅Π½ΠΈΡΠΌΠΈ Ρ€Π΅Π°Π»ΠΈΠ·ΠΎΠ²Π°Π½Π½Ρ‹Ρ… Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΉ явно нСдостаточно.

Π’ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎ Ρ€Π°ΡΡˆΠΈΡ€Π΅Π½ΠΈΠ΅ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹ ΠΏΡƒΡ‚Π΅ΠΌ добавлСния Π½ΠΎΠ²Ρ‹Ρ… графичСских ΠΏΡ€ΠΈΠΌΠΈΡ‚ΠΈΠ²ΠΎΠ² (Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, аэрограф), Π½ΠΎΠ²Ρ‹Ρ… ΠΎΠ±Ρ€Π°Π·Ρ†ΠΎΠ² закраски областСй (Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, ΡˆΡ‚Ρ€ΠΈΡ…ΠΎΠ²ΠΊΠ°), Π½ΠΎΠ²Ρ‹Ρ… Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΉ (Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, ΠΎΡ‚ΠΌΠ΅Π½Π°/Π²ΠΎΠ·ΠΎΠ±Π½ΠΎΠ²Π»Π΅Π½ΠΈΠ΅ ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΈ).

Бписок ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅ΠΌΠΎΠΉ Π»ΠΈΡ‚Π΅Ρ€Π°Ρ‚ΡƒΡ€Ρ‹

1. Π‘. Бтрауструп Π―Π·Ρ‹ΠΊ программирования C++. Π‘ΠΏΠ΅Ρ†ΠΈΠ°Π»ΡŒΠ½ΠΎΠ΅ ΠΈΠ·Π΄Π°Π½ΠΈΠ΅.- БПб.: «ΠΠ΅Π²ΡΠΊΠΈΠΉ Π”ΠΈΠ°Π»Π΅ΠΊΡ‚», 2001.-1099 с.

2. C++ для Π½Π°Ρ‡ΠΈΠ½Π°ΡŽΡ‰ΠΈΡ…. Π­Π»Π΅ΠΊΡ‚Ρ€ΠΎΠ½Π½ΠΎΠ΅ пособиС ΠΏΠΎ ΡΠ·Ρ‹ΠΊΡƒ Π‘++. [элСктронный рСсурс]:

http://www.find-info.ru/doc/cpp/001/index.htm

3. Π’Π°Ρ…Ρ‚ΡƒΡ€ΠΎΠ² Π’. Π”ΠΎΠ±Π°Π²Π»Π΅Π½ΠΈΠ΅ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΎΠ½Π°Π»ΡŒΠ½ΠΎΡΡ‚ΠΈ Π·Π°Π³Ρ€ΡƒΠ·ΠΊΠΈ ΠΈΠ·ΠΎΠ±Ρ€Π°ΠΆΠ΅Π½ΠΈΠΉ Ρ„ΠΎΡ€ΠΌΠ°Ρ‚ΠΎΠ² BMP, GIF, Jpeg, EMF (ΠΈ Π΄Ρ€ΡƒΠ³ΠΈΡ…) ΠΈΠ· Ρ€Π΅ΡΡƒΡ€ΡΠΎΠ² ΠΈ Π²Π½Π΅ΡˆΠ½ΠΈΡ… Ρ„Π°ΠΉΠ»ΠΎΠ² Π² ΡΠ²ΠΎΠ΅ ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅. Π˜Π½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΠΎΠ½Π½Ρ‹ΠΉ ΠΊΠ°Π½Π°Π» SUBSCRIBE.RU — Visual C++, Ρ€Π°ΡΡˆΠΈΡ€Π΅Π½Π½ΠΎΠ΅ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅. Выпуск № 13. -

http://subscribe.ru/archive/comp.soft.prog.qandacpp/200 411/26162734.html#section_mfc

ΠŸΠΎΠΊΠ°Π·Π°Ρ‚ΡŒ вСсь тСкст

Бписок Π»ΠΈΡ‚Π΅Ρ€Π°Ρ‚ΡƒΡ€Ρ‹

  1. Π‘. Бтрауструп Π―Π·Ρ‹ΠΊ программирования C++. Π‘ΠΏΠ΅Ρ†ΠΈΠ°Π»ΡŒΠ½ΠΎΠ΅ ΠΈΠ·Π΄Π°Π½ΠΈΠ΅.- БПб.: «ΠΠ΅Π²ΡΠΊΠΈΠΉ Π”ΠΈΠ°Π»Π΅ΠΊΡ‚», 2001.-1099 с.
  2. C++ для Π½Π°Ρ‡ΠΈΠ½Π°ΡŽΡ‰ΠΈΡ…. Π­Π»Π΅ΠΊΡ‚Ρ€ΠΎΠ½Π½ΠΎΠ΅ пособиС ΠΏΠΎ ΡΠ·Ρ‹ΠΊΡƒ Π‘++. [элСктронный рСсурс]: http://www.find-info.ru/doc/cpp/001/index.htm
  3. Π’. Π”ΠΎΠ±Π°Π²Π»Π΅Π½ΠΈΠ΅ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΎΠ½Π°Π»ΡŒΠ½ΠΎΡΡ‚ΠΈ Π·Π°Π³Ρ€ΡƒΠ·ΠΊΠΈ ΠΈΠ·ΠΎΠ±Ρ€Π°ΠΆΠ΅Π½ΠΈΠΉ Ρ„ΠΎΡ€ΠΌΠ°Ρ‚ΠΎΠ² BMP, GIF, Jpeg, EMF (ΠΈ Π΄Ρ€ΡƒΠ³ΠΈΡ…) ΠΈΠ· Ρ€Π΅ΡΡƒΡ€ΡΠΎΠ² ΠΈ Π²Π½Π΅ΡˆΠ½ΠΈΡ… Ρ„Π°ΠΉΠ»ΠΎΠ² Π² ΡΠ²ΠΎΠ΅ ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅. Π˜Π½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΠΎΠ½Π½Ρ‹ΠΉ ΠΊΠ°Π½Π°Π» SUBSCRIBE.RU — Visual C++, Ρ€Π°ΡΡˆΠΈΡ€Π΅Π½Π½ΠΎΠ΅ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅. Выпуск № 13. -http://subscribe.ru/archive/comp.soft.prog.qandacpp/200 411/26162734.html#section_mfc
Π—Π°ΠΏΠΎΠ»Π½ΠΈΡ‚ΡŒ Ρ„ΠΎΡ€ΠΌΡƒ Ρ‚Π΅ΠΊΡƒΡ‰Π΅ΠΉ Ρ€Π°Π±ΠΎΡ‚ΠΎΠΉ
ΠšΡƒΠΏΠΈΡ‚ΡŒ Π³ΠΎΡ‚ΠΎΠ²ΡƒΡŽ Ρ€Π°Π±ΠΎΡ‚Ρƒ

Π˜Π›Π˜