Создание проекта для графики

Содержание

Слайд 2

Создание проекта для графики Найти функцию LRESULT CALLBACK WndProc(HWND hWnd, UINT

Создание проекта для графики

Найти функцию
LRESULT CALLBACK WndProc(HWND hWnd, UINT message,

WPARAM wParam, LPARAM lParam)
В ней пункт
case WM_PAINT:
hdc = BeginPaint(hWnd, &ps);
Слайд 3

Первый шаг HBRUSH hBrush; //создаём кисть hBrush = CreateSolidBrush(RGB(0,0,0)); //задаём сплошную

Первый шаг

HBRUSH hBrush; //создаём кисть
hBrush = CreateSolidBrush(RGB(0,0,0)); //задаём сплошную кисть, закрашенную

цветом RGB
SelectObject(hdc, hBrush); //делаем кисть активной
Слайд 4

Фон RECT rect; //Определяем размер окна GetClientRect(hWnd, &rect); FillRect(hdc, &rect, hBrush); //Закрашиваем окно черным фоном

Фон

RECT rect; //Определяем размер окна
GetClientRect(hWnd, &rect);
FillRect(hdc, &rect, hBrush); //Закрашиваем окно черным

фоном
Слайд 5

Как это выглядит суммарно case WM_PAINT: hdc = BeginPaint(hWnd, &ps); HBRUSH

Как это выглядит суммарно

case WM_PAINT:
hdc = BeginPaint(hWnd, &ps);
HBRUSH hBrush; //создаём кисть
hBrush

= CreateSolidBrush(RGB(0,0,0));
SelectObject(hdc, hBrush);
RECT rect;
GetClientRect(hWnd, &rect);
FillRect(hdc, &rect, hBrush);
EndPaint(hWnd, &ps);
break;
Слайд 6

Получаем черный фон

Получаем черный фон

Слайд 7

Изменения Поиграясь со параметрами цветов в функции, задающей цвет кисти, получаем

Изменения

Поиграясь со параметрами цветов в функции, задающей цвет кисти, получаем другую

заливку
case WM_PAINT:
hdc = BeginPaint(hWnd, &ps);
HBRUSH hBrush; //создаём кисть
hBrush = CreateSolidBrush(RGB(0,0,0));
SelectObject(hdc, hBrush);
RECT rect;
GetClientRect(hWnd, &rect);
FillRect(hdc, &rect, hBrush);
EndPaint(hWnd, &ps);
break;
Слайд 8

Другой фон hBrush = CreateSolidBrush(RGB(5, 150, 20));

Другой фон

hBrush = CreateSolidBrush(RGB(5, 150, 20));

Слайд 9

Создание пера HPEN blackpen; blackpen = CreatePen(PS_SOLID, 2, RGB(0,0,0)); //Задаем перо

Создание пера

HPEN blackpen;
blackpen = CreatePen(PS_SOLID, 2, RGB(0,0,0)); //Задаем перо толщиной 2

пикселя
SelectObject(hdc, blackpen ); //Выбираем перо
Слайд 10

Нарисуем прямоугольник Rectangle(hdc, 100, 100, 250, 170); Первые 2 числа –

Нарисуем прямоугольник

Rectangle(hdc, 100, 100, 250, 170);
Первые 2 числа – левый верхний

угол, вторые два – правый нижний.
Слайд 11

Закрашенный прямоугольник Выбрав кисть и вызвав функцию отриосвки прямоугольника, получим закрашенный

Закрашенный прямоугольник

Выбрав кисть и вызвав функцию отриосвки прямоугольника, получим закрашенный прямоугольник
hBrush

= CreateSolidBrush(RGB(120, 120, 120));
SelectObject(hdc, hBrush);
Rectangle(hdc, 100, 100, 250, 170);
Слайд 12

Еще несколько прямоугольников SelectObject(hdc, blackpen); Rectangle(hdc, 120, 120, 190, 170); Rectangle(hdc,

Еще несколько прямоугольников

SelectObject(hdc, blackpen);
Rectangle(hdc, 120, 120, 190, 170);
Rectangle(hdc, 220, 120, 290,

170);
SelectObject(hdc, hBrush);
Rectangle(hdc, 70, 170, 340, 230);
hBrush = CreateSolidBrush(RGB(0, 0, 0));
SelectObject(hdc, hBrush);
Rectangle(hdc, 85, 185, 325, 215);
Слайд 13

Отрисовка окружности blackpen = CreatePen(PS_SOLID, 5, RGB(0, 0, 0)); SelectObject(hdc, blackpen); Ellipse(hdc, 130, 130, 180, 170);

Отрисовка окружности

blackpen = CreatePen(PS_SOLID, 5, RGB(0, 0, 0));
SelectObject(hdc, blackpen);
Ellipse(hdc, 130, 130,

180, 170);
Слайд 14

Закрашенная окружность HBRUSH colouBrush; colorBrush = CreateSolidBrush(RGB(255, 0, 0)); SelectObject(hdc, colorBrush); Ellipse(hdc, 130, 130, 180, 170);

Закрашенная окружность

HBRUSH colouBrush;
colorBrush = CreateSolidBrush(RGB(255, 0, 0));
SelectObject(hdc, colorBrush);
Ellipse(hdc, 130, 130, 180,

170);
Слайд 15

Еще окружность blackpen = CreatePen(PS_SOLID, 5, RGB(0, 0, 0)); SelectObject(hdc, blackpen);

Еще окружность

blackpen = CreatePen(PS_SOLID, 5, RGB(0, 0, 0));
SelectObject(hdc, blackpen);
Ellipse(hdc, 220, 120,

290, 170);
colorBrush = CreateSolidBrush(RGB(255, 240, 0));
SelectObject(hdc, colorBrush);
Ellipse(hdc, 220, 120, 290, 170);
blackpen = CreatePen(PS_SOLID, 10, RGB(0, 0, 0));
SelectObject(hdc, blackpen);
Ellipse(hdc, 153, 148, 158, 153);
Ellipse(hdc, 250, 142, 258, 150);
Слайд 16

И еще несколько blackpen = CreatePen(PS_SOLID, 5, RGB(0, 0, 0)); SelectObject(hdc,

И еще несколько

blackpen = CreatePen(PS_SOLID, 5, RGB(0, 0, 0));
SelectObject(hdc, blackpen);
Ellipse(hdc, 130,

20, 180, 100);
Ellipse(hdc, 230, 20, 280, 100);
Слайд 17

Рисуем линии MoveToEx(hdc, 145, 40, 0); LineTo(hdc, 165, 40); Перемещаемся в

Рисуем линии

MoveToEx(hdc, 145, 40, 0);
LineTo(hdc, 165, 40);
Перемещаемся в точку (функция MoveToEx,

первое и второе число) и рисуем линию до другой точки (LineTo).
Слайд 18

Еще линии MoveToEx(hdc, 245, 40, 0); LineTo(hdc, 265, 40); MoveToEx(hdc, 155,

Еще линии

MoveToEx(hdc, 245, 40, 0);
LineTo(hdc, 265, 40);
MoveToEx(hdc, 155, 40, 0);
LineTo(hdc, 155,

80);
MoveToEx(hdc, 255, 40, 0);
LineTo(hdc, 255, 80);
MoveToEx(hdc, 165, 110, 0);
LineTo(hdc, 205, 130);
MoveToEx(hdc, 245, 110, 0);
LineTo(hdc, 205, 130);
MoveToEx(hdc, 205, 110, 0);
LineTo(hdc, 205, 130);
Слайд 19

И последний штрих blackpen = CreatePen(PS_SOLID, 2, RGB(0, 0, 0)); SelectObject(hdc,

И последний штрих

blackpen = CreatePen(PS_SOLID, 2, RGB(0, 0, 0));
SelectObject(hdc, blackpen);
HBRUSH whiteBrush,

blackBrush;
whiteBrush = CreateSolidBrush(RGB(255, 255, 255));
SelectObject(hdc, whiteBrush);
Rectangle(hdc, 175, 185, 195, 205);
Rectangle(hdc, 215, 185, 235, 205);
blackBrush = CreateSolidBrush(RGB(0, 0, 0));
SelectObject(hdc, blackBrush);
Ellipse(hdc, 190, 160, 220, 180);
Слайд 20

Что должно получиться

Что должно получиться