Основы программирования. Лабораторная работа №10

Содержание

Слайд 2

Относительные координаты

Относительные координаты

Слайд 3

Относительные координаты

int x = 50;
int y = 0;
MoveToEx(hdc, x + 30, y,

Относительные координаты int x = 50; int y = 0; MoveToEx(hdc, x
NULL);
LineTo(hdc, x, y + 50);
LineTo(hdc, x + 30, y + 100);
LineTo(hdc, x + 60, y + 50);
LineTo(hdc, x + 30, y);

Слайд 4

Рисование окружности

void Circle(HDC hdc, int cx, int cy, int size) {
HPEN hPen;
hPen

Рисование окружности void Circle(HDC hdc, int cx, int cy, int size) {
= CreatePen(PS_SOLID, 2, RGB(255, 0, 0));
SelectObject(hdc, hPen);
Ellipse(hdc, cx - size, cy - size, cx + size, cy + size);
DeleteObject(hPen);
}

case WM_PAINT:
{
PAINTSTRUCT ps;
HDC hdc = BeginPaint(hWnd, &ps);
// TODO: Добавьте сюда любой код прорисовки, использующий HDC...
Circle(hdc, 200, 160, 80);
EndPaint(hWnd, &ps);
}
break;

Слайд 5

Рисование окружности

void Circle(HDC hdc, int cx, int cy, int size) {
HPEN hPen;
hPen

Рисование окружности void Circle(HDC hdc, int cx, int cy, int size) {
= CreatePen(PS_SOLID, 2, RGB(255, 0, 0));
SelectObject(hdc, hPen);
Ellipse(hdc, cx - size, cy - size, cx + size, cy + size);
DeleteObject(hPen);
}

case WM_PAINT:
{
PAINTSTRUCT ps;
HDC hdc = BeginPaint(hWnd, &ps);
// TODO: Добавьте сюда любой код прорисовки, использующий HDC...
Circle(hdc, 200, 160, 80);
EndPaint(hWnd, &ps);
}
break;

Слайд 6

Рисование креста

void Cross(HDC hdc, int cx, int cy, int size) {
HPEN hPen;
hPen

Рисование креста void Cross(HDC hdc, int cx, int cy, int size) {
= CreatePen(PS_SOLID, 2, RGB(0, 255, 0));
SelectObject(hdc, hPen);
MoveToEx(hdc, cx - size, cy, NULL);
LineTo(hdc, cx + size, cy);
MoveToEx(hdc, cx, cy - size, NULL);
LineTo(hdc, cx, cy + size);
DeleteObject(hPen);
}

case WM_PAINT:
{
PAINTSTRUCT ps;
HDC hdc = BeginPaint(hWnd, &ps);
// TODO: Добавьте сюда любой код прорисовки, использующий HDC...
Cross(hdc, 200, 160, 80);
EndPaint(hWnd, &ps);
}
break;

Слайд 7

Рисование креста

void Cross(HDC hdc, int cx, int cy, int size) {
HPEN hPen;
hPen

Рисование креста void Cross(HDC hdc, int cx, int cy, int size) {
= CreatePen(PS_SOLID, 2, RGB(0, 255, 0));
SelectObject(hdc, hPen);
MoveToEx(hdc, cx - size, cy, NULL);
LineTo(hdc, cx + size, cy);
MoveToEx(hdc, cx, cy - size, NULL);
LineTo(hdc, cx, cy + size);
DeleteObject(hPen);
} …
case WM_PAINT:
{
PAINTSTRUCT ps;
HDC hdc = BeginPaint(hWnd, &ps);
// TODO: Добавьте сюда любой код прорисовки, использующий HDC...
Cross(hdc, 200, 160, 80);
EndPaint(hWnd, &ps);
}
break;

Слайд 8

Рисование треугольника

void Triangle(HDC hdc, int cx, int cy, int size) {
HPEN hPen;
hPen

Рисование треугольника void Triangle(HDC hdc, int cx, int cy, int size) {
= CreatePen(PS_SOLID, 2, RGB(0, 0, 255));
SelectObject(hdc, hPen);
MoveToEx(hdc, cx, cy - size, NULL);
LineTo(hdc, cx + size, cy + size);
LineTo(hdc, cx - size, cy + size);
LineTo(hdc, cx, cy - size);
DeleteObject(hPen);
}

case WM_PAINT:
{
PAINTSTRUCT ps;
HDC hdc = BeginPaint(hWnd, &ps);
// TODO: Добавьте сюда любой код прорисовки, использующий HDC...
Triangle(hdc, 200, 160, 80);
EndPaint(hWnd, &ps);
}
break;

Слайд 9

Рисование треугольника

void Triangle(HDC hdc, int cx, int cy, int size) {
HPEN hPen;
hPen

Рисование треугольника void Triangle(HDC hdc, int cx, int cy, int size) {
= CreatePen(PS_SOLID, 2, RGB(0, 0, 255));
SelectObject(hdc, hPen);
MoveToEx(hdc, cx, cy - size, NULL);
LineTo(hdc, cx + size, cy + size);
LineTo(hdc, cx - size, cy + size);
LineTo(hdc, cx, cy - size);
DeleteObject(hPen);
}

case WM_PAINT:
{
PAINTSTRUCT ps;
HDC hdc = BeginPaint(hWnd, &ps);
// TODO: Добавьте сюда любой код прорисовки, использующий HDC...
Triangle(hdc, 200, 160, 80);
EndPaint(hWnd, &ps);
}
break;

Слайд 10

Рисование треугольника 2

Рисование треугольника 2

Слайд 11

Рисование треугольника 2

void Triangle2(HDC hdc, int cx, int cy, int size) {
int

Рисование треугольника 2 void Triangle2(HDC hdc, int cx, int cy, int size)
x1 = cx - size;
int y1 = cy - size;
int x2 = cx + size;
int y2 = cy - size;
int x3 = cx;
int y3 = cy + size;
HPEN hPen;
hPen = CreatePen(PS_SOLID, 2, RGB(0, 0, 255));
SelectObject(hdc, hPen);
MoveToEx(hdc, x1, y1, NULL);
LineTo(hdc, x2, y2);
LineTo(hdc, x3, y3);
LineTo(hdc, x1, y1);
DeleteObject(hPen);
}

Triangle2 (hdc, 200, 160, 80);

Слайд 14

Image1

void Image1(HDC hdc, int cx, int cy, int size) {
int x1 =

Image1 void Image1(HDC hdc, int cx, int cy, int size) { int
cx;
int y1 = cy - size;
int x2 = cx + size;
int y2 = cy + size;
int x3 = cx;
int y3 = cy + size / 2;
int x4 = cx - size;
int y4 = cy + size;
HPEN hPen;
hPen = CreatePen(PS_SOLID, 2, RGB(0, 0, 255));
SelectObject(hdc, hPen);
MoveToEx(hdc, x1, y1, NULL);
LineTo(hdc, x2, y2);
LineTo(hdc, x3, y3);
LineTo(hdc, x4, y4);
LineTo(hdc, x1, y1);
DeleteObject(hPen);
}

Слайд 21

Функция вызывает функцию

Функция вызывает функцию

Слайд 22

Функция вызывает функцию

Функция вызывает функцию

Слайд 23

Функция вызывает функцию

Функция вызывает функцию

Слайд 24

Функция вызывает функцию

Функция вызывает функцию

Слайд 25

Задача 1

Задача 1

Слайд 26

Задача 2

Задача 2

Слайд 27

Задача 2.2

Задача 2.2

Слайд 28

Задача 3

Задача 3

Слайд 29

Задача 3.2

Используя корону (рисунок создаваемый функцией Image5()) создайте любой
красивый узор из

Задача 3.2 Используя корону (рисунок создаваемый функцией Image5()) создайте любой красивый узор из множества корон.
множества корон.

Слайд 30

Задача 3.3

Используя корону (рисунок создаваемый функцией Image5()) создайте еще один
любой красивый узор

Задача 3.3 Используя корону (рисунок создаваемый функцией Image5()) создайте еще один любой
из множества корон.

Слайд 31

Домашнее задание

Используя ромб (рисунок создаваемый функцией Image3()) создайте узор
Используя ромб (рисунок создаваемый

Домашнее задание Используя ромб (рисунок создаваемый функцией Image3()) создайте узор Используя ромб
функцией Image3()) создайте узор