Графические возможности стандартной библиотеки VCL
Создание программы для закрашивания рисунка с заданием цвета из палитры цветов с помощью Библиотеки Визуальных Компонент VCL (Visual Component Library). Функции и процедуры модуля Graphics. Работа с отдельными точками растра, рисование сплошных объектов.
Рубрика | Программирование, компьютеры и кибернетика |
Вид | лабораторная работа |
Язык | русский |
Дата добавления | 28.10.2013 |
Размер файла | 996,6 K |
Отправить свою хорошую работу в базу знаний просто. Используйте форму, расположенную ниже
Студенты, аспиранты, молодые ученые, использующие базу знаний в своей учебе и работе, будут вам очень благодарны.
Размещено на http://www.allbest.ru/
1. Лабораторная работа. Графические возможности стандартной библиотеки VCL
visual component library graphics
Цель работы: изучение графических возможностей стандартной библиотеки визуальных компонентов VCL, функций и процедур модуля Graphics. научиться работать с отдельными точками растра. Освоить рисование сплошных объектов.
Задание: поместить на форму рисунок и создать программу для закрашивания рисунка квадратами 20х20 пикселей с возможностью задания цвета из палитры цветов. Использовать дополнительное окно вывода и выбора палитры цветов.
Описание
Включите в заголовочный файл Unit1.h следующие модули:
//---------------------------------------------------------------------------
#ifndef Unit1H
#define Unit1H
//---------------------------------------------------------------------------
#include <Classes.hpp>
#include <Controls.hpp>
#include <StdCtrls.hpp>
#include <Forms.hpp>
#include <ExtCtrls.hpp>
#include <jpeg.hpp>
#include <ComCtrls.hpp>
#include <Dialogs.hpp>
#include <Graphics.hpp>
//---------------------------------------------------------------------------
Используйте следующие управляющие элементы и фрагменты кода:
1. Поместить на форму 3 компонента TButton, 1 компонент типа TColorDialog, 1 компонент TStatusBar и 2 компонента TImage.
2. Одна кнопка закрывает приложение:
void __fastcall TForm1::Button3Click(TObject *Sender)
{
Form1->Close();
}
3. Выбор цвета из палитры в обработчике событий другой кнопки:
void __fastcall TForm1::Button1Click(TObject *Sender)
{
ColorDialog1->Color=Image1->Canvas->Pen->Color;
if(ColorDialog1->Execute()) {
Image1->Canvas->Pen->Color=ColorDialog1->Color;//цвет пера
Image1->Canvas->Brush->Color=ColorDialog1->Color;//цвет кисти
StatusBar1->Panels->Items[1]->Text=(AnsiString)ColorDialog1->Color;
}
}
4.Обработчик кнопки для отмены всех изменений:
void __fastcall TForm1::Button2Click(TObject *Sender)
{Image1->Picture->Assign(Image2->Picture);}
Данный обработчик загружает битовую матрицу из невидимого компонента Image2 в Image1 который отображается на экране.
5. Для отображения перемещения указателя мыши следующий обработчик:
void __fastcall TForm1::Image1MouseMove(TObject *Sender, TShiftState Shift,
int X, int Y)
{
StatusBar1->Panels->Items[0]->Text=(AnsiString)X+":"+(AnsiString)Y;
}
6. Для рисования квадрата по щелчку мыши используется обработчик события:
void __fastcall TForm1::Image1MouseDown(TObject *Sender,
TMouseButton Button, TShiftState Shift, int X, int Y)
{
TRect Rct;
Rct.Left=X-10;
Rct.Top=Y-10;
Rct.Right=X+10;
Rct.Bottom=Y+10;
Image1->Canvas->Rectangle(Rct);
Image1->Canvas->FillRect(Rct);
}
В нём используется обработчик события нажатия любой кнопки мыши (OnMouseDown). В результате отображение координат в строке статуса и координаты, используемые для вывода квадрата, локализованы своими обработчиками, как это показано на рисунке 2 с квадратами размером 20/20 пикселей.
Порядок задания:
Для реализации поставленной задачи необходимо выполнить следующую последовательность действий:
1. Поместить на форму компонент Image из вкладки Additional и в инспекторе объектов выбрать свойство Picture. В появившемся окне (рисунок 1) выбрать (Load…) рисунок и нажать кнопку ОК.
Рисунок 1
2. Поместить на форму компонент StatusBar. (Он находится на вкладке Win32). В инспекторе объектов изменить следующие значения свойств:
· установить свойство Align в значение alBottom;
· выбрать свойство Panels и с помощью кнопки в левом верхнем углу разбить панель на две части (рисунок 2). Установить для свойства Width каждой из частей компонента значения 100 и 50 соответственно.
Рисунок 2
3. Из вкладки Dialogs поместить на форму компонент ColorDialog.
4. Из вкладки Standard поместить на форму три компонента Button. На рисунке 3 продемонстрировано окно приложения на данном этапе проектирования.
Рисунок 3
· Первая кнопка служит для выбора цвета из палитры цветов. В соответствии с этим нужно изменить свойство Caption этого компонента. Затем нужно перейти на вкладку Events (события) и создать событие OnClick. Код данной процедуры приведен ниже.
· Вторая кнопка служит для отмены всех действий после закрашивания квадратов (фактически выполняет функции резинки). Для нее нужно создать обработчик события OnClick, щелкнув два раза по кнопке.
· Третья кнопка служит для закрытия приложения и ее обработчик события содержит один оператор Close().
5. Для вывода в строку StatusBar панели значение координат мыши в первую очередь нужно объявить глобальные переменные координат:
Затем следует создать обработчик события для компонента Image на движение мыши в области рисунка:
6. Для прорисовки квадратов при щелчке мыши на компоненте Image для этого компонента устанавливается событие OnClick.
7. Иллюстрация работы приложения показана на рисунке 4.
Рисунок 4
Размещено на Allbest.ru
Подобные документы
Общая характеристика системы программирования Delphi, а также принципы создания ее компонентов. Описание значений файлов приложения, созданного с помощью Delphi. Структура и свойства библиотеки визуальных компонентов (Visual Component Library или VCL).
отчет по практике [1,1 M], добавлен 07.12.2010Теоретические основы разработки Windows-приложений с использованием библиотеки MFC. Создание приложения с помощью Visual C++. Описание логической структуры приложения. Установка и запуск программы. Входные и выходные данные. Преимущество MFC библиотек.
курсовая работа [563,2 K], добавлен 21.06.2011Определение программного модуля. Принципы использования dll-библиотеки. Преимущества и недостатки использования dll-библиотек. Описание коэффициентов моделей. Разработка структуры классов. Реализация библиотеки классов в среде разработки MS Visual Studio.
дипломная работа [676,6 K], добавлен 16.06.2015Создание программы, с помощью библиотеки OpenGL рисующей проволочный чайник с поворотом рисунка вокруг осей X, Y, Z. Построение отрографической проекции. Установка области отображения. Функция обработки сообщений с клавиатуры. Главный цикл приложения.
контрольная работа [151,2 K], добавлен 21.01.2011Функции графического редактора Paint, создание рисунка (задание размера, изменение цвета). Возможности программы "Калькулятор". Работа с блокнотом, ввод текста с помощью клавиатуры. Текстовый процессор WordPad: простейшие приемы форматирования документов.
контрольная работа [434,3 K], добавлен 17.11.2011Понятие стандартной библиотеки C++. Количество удобных операций и методов. Создание пустой строки и конструктор копирования. Создание строки на основе нуль-терминальной строки. Примеры использования конструкторов. Присвоение строки типа string.
презентация [221,2 K], добавлен 04.05.2012Создание приложения на языке программирования Visual C++ с использованием библиотеки MFC на тему "Тестирование по разделу "Законы механики Ньютона". Описание логической структуры программы, тестовых прогонов. Требования к техническому обеспечению.
курсовая работа [2,2 M], добавлен 29.06.2011Анализ графического модуля "graphics.h". Анализ функции модуля, констант, типов и его глобальных переменных. Реализация пользовательской библиотеки "mouse.h". Особенности работы с мышкой в графическом и обычном режимах, разработка программного кода.
курсовая работа [36,5 K], добавлен 02.12.2009Иерархия основных классов MFC (базовой библиотеки классов). Структура простой MFC программы. Работа с текстом в MFC. Функции вывода текста, установки цветов, режимов отображения, получение метрик. Применение контекста устройства, обработка сообщений.
контрольная работа [27,8 K], добавлен 11.08.2010Использование графических возможностей Турбо Паскаля, подключение графического модуля Graph. Графические функции и процедуры. Общая структура графической программы. Построение фигур, определение цветов и стилей, работа с текстом, сообщения об ошибках.
реферат [109,3 K], добавлен 28.04.2010