понедельник, 18 мая 2015 г.

Задание 6. Рисование с помощью графических примитивов



1.      Знакомство  с  инструментами (перо, кисть) и графическими примитивами.
a.    Добавьте в существующую функцию-член класса OnDraw следующий программный код:
void CSketcherView::OnDraw(CDC* pDC)
{
      CSketcherDoc* pDoc = GetDocument();
      ASSERT_VALID(pDoc);
      if (!pDoc)
            return;

      // TODO: добавьте здесь код отрисовки для собственных данных
             bluePen.CreatePen(PS_SOLID,5,RGB(0,0,255));
             redBrush.CreateSolidBrush(RGB(255,0,0));
             aBrush.CreateHatchBrush(HS_DIAGCROSS,RGB(255,200,0));
             pDC->SetTextColor(RGB(125,115,0));
             pDC->SetBkColor(RGB(0,15,0));
             pDC->TextOut(10,10,"Волчий остров",13);
             pDC->SelectObject(&bluePen);
             pDC->SelectObject(&redBrush);
             pDC->Rectangle(50,50,100,100);
             pDC->MoveTo(100,150); 
             pDC->LineTo(100,200); 
             pDC->SelectObject(&aBrush);
             pDC->Ellipse(50,100, 100,150);
             pDC->SelectStockObject(NULL_BRUSH);
       pDC->Ellipse(350,100, 650,150);
}
Параметром функции OnDraw является указатель на объект класса CDC, который позволяет рисовать на экране. Не забудте убрать комментарии у имени параметра.
Перед использованием вновь создаваемых перьев и кистей, нужно создать переменные с нужными именами – экземпляры класса перьев CPen и класса кистей CBrush. Например описать новое перо bluePen нужно так.
            CPen  bluePen;
Новые кисти опишите самостоятельно.
Разберитесь с особенностями параметров графических  функций. Дополнительное описание имеется в справке ниже.

b.    Постройте решение и рассмотрите результат.
2.      Перепишите программный код так, чтобы рисунок в окне был похож на рис:
с.Поместить на рисунок дополнительные элементы (по выбору преподавателя).




Справка.


Определение пера

 

Второй аргумент функции – ширина линии (равен 0 и более), третий –цвет пера.

Определение кисти



Стандартные кисти





Комментариев нет:

Отправить комментарий