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

ВУЗ:
Національний університет Львівська політехніка
Інститут:
О
Факультет:
ЗІ
Кафедра:
Не вказано

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

Рік:
2014
Тип роботи:
Лабораторна робота
Предмет:
Програмування комп’ютерної графіки
Група:
СІ-22

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

Міністерство освіти і науки України Національний університет “Львівська політехніка” УПРАВЛІННЯ КОЛЬОРАМИ ТА СТИЛЯМИ ГРАФІЧНИХ ЗОБРАЖЕНЬ В СЕРЕДОВИЩІ MICROSOFT VISUAL STUDIO C++ 2008 Лабораторна робота №3 з курсу «Програмування комп’ютерної графіки» Варіант №17 Львів 2014 Мета роботи: вивчити функції для управління кольорами та стилями графічних зображень; навчитися складати програми на алгоритмічній мові С++ для побудови різноманітних графічних зображень в середовищі Microsoft Visual Studio C++ 2008. ЗАВДАННЯ Написати програму на алгоритмічній мові С++, яка виводить на екран розмальоване графічне зображення. Варіант завдання береться згідно з вказівкою викладача з таблиці 1. Таблиця 1. Завдання до лабораторної роботи N% п/п Варіанти завдань  10. /   Список змінних, які використовуються в коді програми, та їх пояснення: dc.MoveTo() – переносить курсор у задану точку; dc.LineTo() – будує лінію до заданої точки; CBrush br; br.CreateSolidBrush(RGB(0,0,0)); dc.SelectObject(&br); - Створення та використання користувацького пера; dc.FloodFill(x, y, Color); - замальовує область екрану поточним пензлем х,у – координати точки всередині замкнутої області; Color – колір межі до якої буде здійснюватися замалювання; dc.SelectStockObject(Color); - перо , Color – колір пера; dc.Rectangle() – малює прямокутник. Блок-схема програми: 1 2 3 4 5 6 7 8 10 Остаточна версія програми: // ChildView.cpp : реализация класса CChildView // #include "stdafx.h" #include "ChildView.h" #include <conio.h> #include <vector> #include<iostream> #include <math.h> #include <fstream> using namespace std; #ifdef _DEBUG #define new DEBUG_NEW #endif // CChildView CChildView::CChildView() { } CChildView::~CChildView() { } BEGIN_MESSAGE_MAP(CChildView, CWnd) ON_WM_PAINT() END_MESSAGE_MAP() // обработчики сообщений CChildView 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 br; CPen pen; pen.CreatePen(PS_SOLID,2,RGB(0,0,0)); dc.SelectObject(&pen); dc.MoveTo(9,130);//дах dc.LineTo(144,26); dc.LineTo(279,130); br.DeleteObject(); pen.DeleteObject(); pen.CreatePen(PS_SOLID,5,RGB(0,0,0)); dc.SelectObject(&pen); dc.Rectangle(38,107,250,230);//основа dc.Rectangle(60,125,100,200);//ліве вікно dc.MoveTo(63,146); dc.LineTo(96,146); dc.MoveTo(63,171); dc.LineTo(96,171); dc.MoveTo(80,128); dc.LineTo(80,196); dc.Rectangle(185,125,225,200);//праве вікно dc.MoveTo(188,146); dc.LineTo(221,146); dc.MoveTo(188,171); dc.LineTo(221,171); dc.MoveTo(205,128); dc.LineTo(205,196); dc.Rectangle(125,145,165,230);//двері dc.MoveTo(9,130);//дах dc.LineTo(68,84); dc.MoveTo(95,62); dc.LineTo(144,26); dc.LineTo(170,42); dc.MoveTo(189,58); dc.LineTo(279,130); br.DeleteObject(); pen.DeleteObject(); br.CreateSolidBrush(RGB(255,255,0));//основа dc.SelectObject(&br); dc.FloodFill(100,215,RGB(0,0,0)); br.DeleteObject(); br.CreateSolidBrush(RGB(232,134,36));//двері dc.SelectObject(&br); dc.FloodFill(144,216,RGB(0,0,0)); br.DeleteObject(); br.CreateSolidBrush(RGB(236,99,45));//дах dc.SelectObject(&br); dc.FloodFill(180,100,RGB(0,0,0)); br.DeleteObject(); pen.CreatePen(PS_SOLID,3,RGB(249,239,98));//двері dc.SelectObject(&pen); dc.MoveTo(130,148); dc.LineTo(160,168); dc.MoveTo(160,148); dc.LineTo(130,168); dc.MoveTo(130,168); dc.LineTo(160,188); dc.MoveTo(160,168); dc.LineTo(130,188); dc.MoveTo(130,200); dc.LineTo(160,220); dc.MoveTo(160,200); dc.LineTo(130,220); br.DeleteObject(); pen.DeleteObject(); pen.CreatePen(PS_SOLID,5,RGB(249,239,98));//черепиця dc.SelectObject(&pen); dc.MoveTo(73,100); dc.LineTo(100,78); dc.LineTo(110,86); dc.MoveTo(116,69); dc.LineTo(137,49); dc.MoveTo(118,51); dc.LineTo(125,59); dc.MoveTo(125,84); dc.LineTo(144,68); dc.LineTo(160,84); dc.LineTo(180,68); dc.LineTo(198,84); dc.MoveTo(152,76); dc.LineTo(161,68); dc.LineTo(171,75); dc.MoveTo(152,41); dc.LineTo(164,52); dc.MoveTo(213,90); dc.LineTo(225,100); dc.MoveTo(98,100); dc.LineTo(105,95); dc.MoveTo(118,100); dc.LineTo(125,95); dc.MoveTo(158,100); dc.LineTo(165,95); dc.MoveTo(198,100); dc.LineTo(205,95); dc.MoveTo(134,100); dc.LineTo(146,90); br.DeleteObject(); pen.DeleteObject(); } Результат роботи програми: / Висновок: На даній лабораторній роботі я вивчив основні функції управління кольорами та стилями графічних зображень.
Антиботан аватар за замовчуванням

12.04.2016 16:04-

Коментарі

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

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

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

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

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

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

Admin

26.02.2023 12:38

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