УПРАВЛІННЯ КОЛЬОРАМИ ТА СТИЛЯМИ ГРАФІЧНИХ ЗОБРАЖЕНЬ В СЕРЕДОВИЩІ MICROSOFT VISUAL STUDIO C++ 2008

Інформація про навчальний заклад

ВУЗ:
Національний університет Львівська політехніка
Інститут:
Інститут комп’ютерних технологій, автоматики та метрології
Факультет:
СІ
Кафедра:
Комп'ютеризовані системи автоматики

Інформація про роботу

Рік:
2015
Тип роботи:
Лабораторна робота
Предмет:
ПКГ
Група:
СІ 22
Варіант:
26 ВАРІАНТІВ

Частина тексту файла (без зображень, графіків і формул):

МІНІСТЕРСТВО ОСВІТИ І НАУКИ УКРАЇНИ НАЦІОНАЛЬНИЙ УНІВЕРСИТЕТ «ЛЬВІВСЬКА ПОЛІТЕХНІКА»  ЗВІТ ПРО ВИКОНАННЯ ЛАБОРАТОРНОЇ РОБОТИ № 3 УПРАВЛІННЯ КОЛЬОРАМИ ТА СТИЛЯМИ ГРАФІЧНИХ ЗОБРАЖЕНЬ В СЕРЕДОВИЩІ MICROSOFT VISUAL STUDIO C++ 2008 Варіант №26 Львів 2015 Мета роботи: вивчити функції для управління кольорами та стилями графічних зображень; навчитися складати програми на алгоритмічній мові C++ для побудови різноманітних графічних зображень в середовищі Microsoft Visual Studio C++ 2008. Завдання: Написати програму на алгоритмічній мові C++, яка виводить на екран розмальоване графічне зображення. 26. /   Список ідентифікаторів змінних, функцій використаних у програмі: Colorref RGB – повертає колір, який базується на заданих червоній (byRed), зеленій (byGreen) та синій (byBlue) компонентах. CreatePen - ініціалізує перо заданими атрибутами; CBrush – зміна для створення користувацького пензля; CreateSolidBrush - ініціалізує суцільний пензель заданими атрибутами; FloodFill – замальовує замкнуту область; dc.Rectangle – малює прямокутник; dc.MoveTo – переміщує поточну вершину; dc.LineTo – малює лінію з поточної вершини; Остаточна версія програми #include "stdafx.h" #include "MFCApplication6.h" #include "ChildView.h" #ifdef _DEBUG #define new DEBUG_NEW #endif CChildView::CChildView() {} CChildView::~CChildView() {} BEGIN_MESSAGE_MAP(CChildView, CWnd) ON_WM_PAINT() END_MESSAGE_MAP() BOOL CChildView::PreCreateWindow(CREATESTRUCT& cs) { if (!CWnd::PreCreateWindow(cs)) return FALSE; cs.dwExStyle |= WS_EX_CLIENTEDGE; cs.style &= ~WS_BORDER; cs.lpszClass = AfxRegisterWndClass(CS_HREDRAW|CS_VREDRAW|CS_DBLCLKS, ::LoadCursor(NULL, IDC_ARROW), reinterpret_cast<HBRUSH>(COLOR_WINDOW+1), NULL); return TRUE;} void CChildView::OnPaint() { CPaintDC dc(this); CBrush k_brush; CPen black; black.CreatePen (PS_SOLID, 15, RGB (0, 0, 0)); dc.SelectObject(&black); dc.MoveTo(380,30); dc.LineTo(980,30); dc.LineTo(980,630); dc.LineTo(380,630); dc.LineTo(380,30); dc.MoveTo(430,250); dc.LineTo(855,250); dc.MoveTo(470,230); dc.LineTo(470,80); dc.LineTo(420,80); dc.LineTo(420,60); dc.LineTo(540,60); dc.LineTo(540,80); dc.LineTo(490,80); dc.LineTo(490,230); dc.LineTo(470,230); dc.MoveTo(510,230); dc.LineTo(510,130); dc.LineTo(560,130); dc.LineTo(560,150); dc.LineTo(530,150); dc.LineTo(530,170); dc.LineTo(560,170); dc.LineTo(560,190); dc.LineTo(530,190); dc.LineTo(530,210); dc.LineTo(560,210); dc.LineTo(560,230); dc.LineTo(510,230); dc.MoveTo(590,230); dc.LineTo(590,150); dc.LineTo(580,150); dc.LineTo(580,130); dc.LineTo(590,130); dc.LineTo(590,60); dc.LineTo(610,60); dc.LineTo(610,130); dc.LineTo(620,130); dc.LineTo(620,150); dc.LineTo(610,150); dc.LineTo(610,210); dc.LineTo(640,210); dc.LineTo(640,230); dc.LineTo(590,230); dc.MoveTo(660,230); dc.LineTo(660,130); dc.LineTo(710,130); dc.LineTo(710,170); dc.LineTo(695,170); dc.LineTo(695,150); dc.LineTo(680,150); dc.LineTo(680,230); dc.LineTo(660,230); dc.MoveTo(730,230); dc.LineTo(730,130); dc.LineTo(750,130); dc.LineTo(750,230); dc.LineTo(730,230); dc.Rectangle(730,60,750,80); dc.MoveTo(770,230); dc.LineTo(770,210); dc.LineTo(810,210); dc.LineTo(810,190); dc.LineTo(770,190); dc.LineTo(770,130); dc.LineTo(830,130); dc.LineTo(830,150); dc.LineTo(790,150); dc.LineTo(790,170); dc.LineTo(830,170); dc.LineTo(830,230); dc.LineTo(770,230); CPen a; a.CreatePen (PS_SOLID, 4, RGB (0, 0, 0)); dc.SelectObject(&a); dc.Rectangle(900,530,980,630); k_brush.CreateSolidBrush(RGB(0, 0, 255));dc.SelectObject(&k_brush); dc.FloodFill(970, 625, RGB(0, 0, 0));k_brush.DeleteObject(); dc.MoveTo(895,630); dc.LineTo(895,525); dc.LineTo(980,525); dc.LineTo(980,470); dc.LineTo(840,470); dc.LineTo(840,630); dc.LineTo(895,630); k_brush.CreateSolidBrush(RGB(255,215, 0));dc.SelectObject(&k_brush); dc.FloodFill(850, 480, RGB(0, 0, 0));k_brush.DeleteObject(); dc.Rectangle(700,540,840,630); k_brush.CreateSolidBrush(RGB(255, 0, 0)); dc.SelectObject(&k_brush); dc.FloodFill(800, 625, RGB(0, 0, 0)); k_brush.DeleteObject(); dc.MoveTo(840,540); dc.LineTo(840,470); dc.LineTo(980,470); dc.LineTo(980,400); dc.LineTo(770,400); dc.LineTo(770,540); dc.LineTo(840,540); k_brush.CreateSolidBrush(RGB(0, 255, 0));dc.SelectObject(&k_brush); dc.FloodFill(800, 440, RGB(0, 0, 0));k_brush.DeleteObject(); dc.Rectangle(550,590,630,630); k_brush.CreateSolidBrush(RGB(0, 0, 255));dc.SelectObject(&k_brush); dc.FloodFill(560, 625, RGB(0, 0, 0));k_brush.DeleteObject(); dc.MoveTo(640,630); dc.LineTo(640,540); dc.LineTo(615,540); dc.LineTo(615,590); dc.LineTo(630,590); dc.LineTo(630,630); dc.LineTo(640,630); k_brush.CreateSolidBrush(RGB(0, 0, 0));dc.SelectObject(&k_brush); dc.FloodFill(620, 560, RGB(0, 0, 0));k_brush.DeleteObject(); dc.MoveTo(640,580); dc.LineTo(700,580); dc.LineTo(700,490); dc.LineTo(680,490); dc.LineTo(680,470); dc.LineTo(590,470); dc.LineTo(590,490); dc.LineTo(580,490); dc.LineTo(580,580); dc.LineTo(615,580); dc.LineTo(615,540); dc.LineTo(640,540); dc.LineTo(640,580); k_brush.CreateSolidBrush(RGB(255, 255, 0));dc.SelectObject(&k_brush); dc.FloodFill(600, 500, RGB(0, 0, 0));k_brush.DeleteObject(); dc.MoveTo(680,470); dc.LineTo(680,310); dc.LineTo(785,310); dc.LineTo(785,400); dc.LineTo(770,400); dc.LineTo(770,540); dc.LineTo(700,540); dc.LineTo(700,470); dc.LineTo(680,470); k_brush.CreateSolidBrush(RGB(0, 0, 255));dc.SelectObject(&k_brush); dc.FloodFill(740, 500, RGB(0, 0, 0));k_brush.DeleteObject(); dc.Rectangle(380,580,480,630); k_brush.CreateSolidBrush(RGB(0, 255, 255));dc.SelectObject(&k_brush); dc.FloodFill(400, 600, RGB(0, 0, 0));k_brush.DeleteObject(); dc.Rectangle(480,550,550,630); k_brush.CreateSolidBrush(RGB(0, 255, 0));dc.SelectObject(&k_brush); dc.FloodFill(490, 600, RGB(0, 0, 0));k_brush.DeleteObject(); dc.Rectangle(380,430,420,580); k_brush.CreateSolidBrush(RGB(0, 0, 255));dc.SelectObject(&k_brush); dc.FloodFill(400, 500, RGB(0, 0, 0));k_brush.DeleteObject(); dc.MoveTo(425,580); dc.LineTo(425,430); dc.LineTo(380,430); dc.LineTo(380,370); dc.LineTo(515,370); dc.LineTo(515,550); dc.LineTo(480,550); dc.LineTo(480,580); dc.LineTo(425,580); k_brush.CreateSolidBrush(RGB(255, 255, 0)); dc.SelectObject(&k_brush); dc.FloodFill(440, 560, RGB(0, 0, 0));k_brush.DeleteObject(); dc.MoveTo(515,490); dc.LineTo(515,550); dc.LineTo(550,550); dc.LineTo(550,590); dc.LineTo(580,590); dc.LineTo(580,490); dc.LineTo(515,490); k_brush.CreateSolidBrush(RGB(255, 0, 0));dc.SelectObject(&k_brush); dc.FloodFill(560, 540, RGB(0, 0, 0));k_brush.DeleteObject(); dc.MoveTo(515,490); dc.LineTo(515,440); dc.LineTo(680,440); dc.LineTo(680,470); dc.LineTo(590,470); dc.LineTo(590,490); dc.LineTo(515,490); dc.LineTo(515,490); k_brush.CreateSolidBrush(RGB(255, 105, 180)); dc.SelectObject(&k_brush); dc.FloodFill(550, 460, RGB(0, 0, 0)); k_brush.DeleteObject(); } Результат роботи програми / Висновок Під час виконання даної лабораторної роботи я вивчити функції для управління кольорами та стилями графічних зображень; навчитися складати програми на алгоритмічній мові C++ для побудови різноманітних графічних зображень в середовищі Microsoft Visual Studio C++ 2008.
Антиботан аватар за замовчуванням

12.10.2016 21:10-

Коментарі

Ви не можете залишити коментар. Для цього, будь ласка, увійдіть або зареєструйтесь.

Ділись своїми роботами та отримуй миттєві бонуси!

Маєш корисні навчальні матеріали, які припадають пилом на твоєму комп'ютері? Розрахункові, лабораторні, практичні чи контрольні роботи — завантажуй їх прямо зараз і одразу отримуй бали на свій рахунок! Заархівуй всі файли в один .zip (до 100 МБ) або завантажуй кожен файл окремо. Внесок у спільноту – це легкий спосіб допомогти іншим та отримати додаткові можливості на сайті. Твої старі роботи можуть приносити тобі нові нагороди!
Нічого не вибрано
0%

Оголошення від адміністратора

Антиботан аватар за замовчуванням

Подякувати Студентському архіву довільною сумою

Admin

26.02.2023 12:38

Дякуємо, що користуєтесь нашим архівом!