Блок-схема алгоритма - Основные типы графических редакторов
РЕАЛИЗАЦИЯ
Для реализации приложения был использован языка программирования C++. Код получившейся программы представлен ниже:
Код в файле Unit1.h:
//---------------------------------------------------------------------------
#include <vcl. h>
#pragma hdrstop
#include "Unit1.h"
//---------------------------------------------------------------------------
#pragma package(smart_init)
#pragma link "IWBaseControl"
#pragma link "IWBaseHTMLControl"
#pragma link "IWCompListbox"
#pragma link "IWControl"
#pragma link "IWVCLBaseControl"
#pragma link "cspin"
#pragma resource "*.dfm"
TForm1 *Form1;
Bool F;
//---------------------------------------------------------------------------
__fastcall TForm1::TForm1(TComponent* Owner)
: TForm(Owner)
{
F=false;
Image1->Canvas->Pen->Width=StrToInt(CSpinEdit1->Text) ;
PaintBox1->Canvas->Pen->Width=StrToInt(CSpinEdit1->Text) ;
Image1->Canvas->FloodFill(0,0,RGB(255,255,255), fsSurface);
Form1->DoubleBuffered=true;
}
//---------------------------------------------------------------------------
Void __fastcall TForm1::Image1MouseDown(TObject *Sender, TMouseButton Button,
TShiftState Shift, int X, int Y)
{
PaintBox1->Left=X;
PaintBox1->Top=Y;
PaintBox1->Width=0;
PaintBox1->Height=0;
F=true;
}
//---------------------------------------------------------------------------
Void __fastcall TForm1::Image1MouseMove(TObject *Sender, TShiftState Shift,
Int X, int Y)
{
If (F)
{
PaintBox1->Width=X-PaintBox1->Left;
PaintBox1->Height=Y-PaintBox1->Top;
Application->ProcessMessages();
PaintBox1->Canvas->MoveTo(1,1);
PaintBox1->Canvas->LineTo(X+1-PaintBox1->Left, Y+1-PaintBox1->Top);
}
StatusBar1->SimpleText="Положение мыши: X [ "+IntToStr(X)+" ] Y [ "+IntToStr(Y)+" ]"+"Цвет: R"+IntToStr(GetRValue(ColorToRGB(Image1->Canvas->Pen->Color)))+" G"+IntToStr(GetGValue(ColorToRGB(Image1->Canvas->Pen->Color)))+" B"+IntToStr(GetBValue(ColorToRGB(Image1->Canvas->Pen->Color)));
}
//---------------------------------------------------------------------------
Void __fastcall TForm1::Image1MouseUp(TObject *Sender, TMouseButton Button, TShiftState Shift, int X, int Y)
{
F=false;
Image1->Canvas->MoveTo(PaintBox1->Left, PaintBox1->Top);
Image1->Canvas->LineTo(PaintBox1->Left+PaintBox1->Width, PaintBox1->Top+PaintBox1->Height);
}
//---------------------------------------------------------------------------
Void __fastcall TForm1::SBlackMouseDown(TObject *Sender, TMouseButton Button, TShiftState Shift, int X, int Y)
{
Image1->Canvas->Pen->Color=RGB(0,0,0);
PaintBox1->Canvas->Pen->Color=RGB(0,0,0);
}
//---------------------------------------------------------------------------
Void __fastcall TForm1::SRedMouseDown(TObject *Sender, TMouseButton Button, TShiftState Shift, int X, int Y)
{
Image1->Canvas->Pen->Color=RGB(255,0,0);
PaintBox1->Canvas->Pen->Color=RGB(255,0,0);
}
//---------------------------------------------------------------------------
Void __fastcall TForm1::SGreenMouseDown(TObject *Sender, TMouseButton Button, TShiftState Shift, int X, int Y)
{
Image1->Canvas->Pen->Color=RGB(0,255,0);
PaintBox1->Canvas->Pen->Color=RGB(0,255,0);
}
//---------------------------------------------------------------------------
Void __fastcall TForm1::SWhiteMouseDown(TObject *Sender, TMouseButton Button, TShiftState Shift, int X, int Y)
{
Image1->Canvas->Pen->Color=RGB(255,255,255);
PaintBox1->Canvas->Pen->Color=RGB(255,255,255);
}
//---------------------------------------------------------------------------
Void __fastcall TForm1::SBlueMouseDown(TObject *Sender, TMouseButton Button, TShiftState Shift, int X, int Y)
{
Image1->Canvas->Pen->Color=RGB(0,0,255);
PaintBox1->Canvas->Pen->Color=RGB(0,0,255);
}
//---------------------------------------------------------------------------
Void __fastcall TForm1::N1Click(TObject *Sender)
{
If (SaveDialog1->Execute())
{
Image1->Picture->SaveToFile(SaveDialog1->FileName );
}
}
//---------------------------------------------------------------------------
Void __fastcall TForm1::N2Click(TObject *Sender)
{
If (OpenPictureDialog1->Execute())
{
Image1->Picture->LoadFromFile(OpenPictureDialog1->FileName );
}
Image1->Canvas->Pen->Width=StrToInt(CSpinEdit1->Text) ;
}
//---------------------------------------------------------------------------
Void __fastcall TForm1::CSpinEdit1Change(TObject *Sender)
{
Image1->Canvas->Pen->Width=StrToInt(CSpinEdit1->Text) ;
PaintBox1->Canvas->Pen->Width=StrToInt(CSpinEdit1->Text) ;
}
//---------------------------------------------------------------------------
Void __fastcall TForm1::Shape1MouseDown(TObject *Sender, TMouseButton Button, TShiftState Shift, int X, int Y)
{
Image1->Canvas->Pen->Color=RGB(0,255,255);
PaintBox1->Canvas->Pen->Color=RGB(0,255,255);
}
//---------------------------------------------------------------------------
Void __fastcall TForm1::Shape2MouseDown(TObject *Sender, TMouseButton Button, TShiftState Shift, int X, int Y)
{
Image1->Canvas->Pen->Color=RGB(255,0,255);
PaintBox1->Canvas->Pen->Color=RGB(255,0,255);
}
//---------------------------------------------------------------------------
Void __fastcall TForm1::Shape3MouseDown(TObject *Sender, TMouseButton Button, TShiftState Shift, int X, int Y)
{
Image1->Canvas->Pen->Color=RGB(255,255,0);
PaintBox1->Canvas->Pen->Color=RGB(255,255,0);
}
//---------------------------------------------------------------------------
Void __fastcall TForm1::Button1Click(TObject *Sender)
{
TRect r;
R. left=Image1->Left-1;
R. right=Image1->Width;
R. bottom=Image1->Height;
R. top=Image1->Top-1;
Image1->Canvas->Brush->Color=RGB(255,255,255);
Image1->Canvas->FillRect(r);
StatusBar1->SimpleText="Стерли!";
}
//---------------------------------------------------------------------------
Код в файле Unit1.h:
// ---------------------------------------------------------------------------
#ifndef Unit1H
#define Unit1H
// ---------------------------------------------------------------------------
#include <Classes. hpp>
#include <Controls. hpp>
#include <StdCtrls. hpp>
#include <Forms. hpp>
#include <Menus. hpp>
#include <FileCtrl. hpp>
#include <ExtCtrls. hpp>
#include <Dialogs. hpp>
#include <ExtDlgs. hpp>
#include "IWBaseControl. hpp"
#include "IWBaseHTMLControl. hpp"
#include "IWCompListbox. hpp"
#include "IWControl. hpp"
#include "IWVCLBaseControl. hpp"
#include <DBCtrls. hpp>
#include <ActnList. hpp>
#include <Buttons. hpp>
#include "cspin. h"
#include <ComCtrls. hpp>
// ---------------------------------------------------------------------------
Class TForm1 : public TForm {
__published: // IDE-managed Components
TImage *Image1;
TPaintBox *PaintBox1;
TPanel *Panel1;
TMainMenu *MainMenu1;
TOpenPictureDialog *OpenPictureDialog1;
TSaveDialog *SaveDialog1;
TPanel *Panel2;
TShape *SBlack;
TShape *SRed;
TShape *SGreen;
TShape *SWhite;
TShape *SBlue;
TLabel *Label2;
TLabel *Label1;
TMenuItem *N1;
TMenuItem *N2;
TCSpinEdit *CSpinEdit1;
TShape *Shape1;
TShape *Shape2;
TShape *Shape3;
TButton *Button1;
TStatusBar *StatusBar1;
Void __fastcall Image1MouseDown(TObject *Sender, TMouseButton Button,
TShiftState Shift, int X, int Y);
Void __fastcall Image1MouseMove(TObject *Sender, TShiftState Shift,
Int X, int Y);
Void __fastcall Image1MouseUp(TObject *Sender, TMouseButton Button,
TShiftState Shift, int X, int Y);
Void __fastcall SBlackMouseDown(TObject *Sender, TMouseButton Button,
TShiftState Shift, int X, int Y);
Void __fastcall SRedMouseDown(TObject *Sender, TMouseButton Button,
TShiftState Shift, int X, int Y);
Void __fastcall SGreenMouseDown(TObject *Sender, TMouseButton Button,
TShiftState Shift, int X, int Y);
Void __fastcall SWhiteMouseDown(TObject *Sender, TMouseButton Button, TShiftState Shift,
Int X, int Y);
Void __fastcall SBlueMouseDown(TObject *Sender, TMouseButton Button, TShiftState Shift,
Int X, int Y);
Void __fastcall N1Click(TObject *Sender);
Void __fastcall N2Click(TObject *Sender);
Void __fastcall CSpinEdit1Change(TObject *Sender);
Void __fastcall Shape1MouseDown(TObject *Sender, TMouseButton Button, TShiftState Shift,
Int X, int Y);
Void __fastcall Shape2MouseDown(TObject *Sender, TMouseButton Button, TShiftState Shift,
Int X, int Y);
Void __fastcall Shape3MouseDown(TObject *Sender, TMouseButton Button, TShiftState Shift,
Int X, int Y);
Void __fastcall Button1Click(TObject *Sender);
Private: // User declarations
Public : // User declarations
__fastcall TForm1(TComponent* Owner);
};
// ---------------------------------------------------------------------------
Extern PACKAGE TForm1 *Form1;
// ---------------------------------------------------------------------------
#endif
Похожие статьи
-
Составьте программу для реализации графического редактора линий, изображенного на рисунке 1.1.: Рисунок 1.1. - Пример работы Целью данной работы является...
-
Visual component library graphics Цель работы: изучение графических возможностей стандартной библиотеки визуальных компонентов VCL, функций и процедур...
-
ВВЕДЕНИЕ - Основные типы графических редакторов
Алгоритм программирование редактор графический Компьютерная графика - это специальная область информатики, изучающая методы и средства создания и...
-
ТЕСТИРОВАНИЕ, ЗАКЛЮЧЕНИЕ - Основные типы графических редакторов
Скриншоты, демонстрирующие работу программы представлены ниже на рисунках 4.1., 4.2., 4.3. и 4.4.: Рисунок 4.1 - Интерфейс и результат работы программы...
-
Основные функции графического редактора, Литература - Обзор графических редакторов
Работа в графическом редакторе относится к технологии обработки графики. Для некоторого обобщенного графического редактора характерно выполнение...
-
Растровый графический редактор
Приложение 1. Исходные тексты программы #include <winbgim. h> #include <alloc. h> #include <stdio. h> Using namespace std; Int COL=15,...
-
Литература, Текст программы - Разработка визуального редактора
1. Методические указания по выполнению курсовых и дипломных проектов. Специальность: 2-40 02 01 "Программное обеспечение информационных технологий"; 2....
-
Технические требования Техническое задание данной работы требует разработать программу для визуального редактирования HTML-кода. Программа должна быть...
-
Форматы файлов для хранения растровых графических изображений - Обзор графических редакторов
Как правило, файлы для хранения растровых графических изображений логически состоят из двух частей: заголовка и области данных. В заголовке указаны...
-
Стек технологий При выборе стека технологий основное внимание уделялось следующим факторам, в порядке убывания значимости: § Кроссплатформенность; §...
-
Блок - схема алгоритму, Опис алгоритму - Розробка гри в С# "Корови та бики"
Рисунок 2.1 - Блок - схема алгоритму роботи програми Рисунок 2.1 (продовження) Опис алгоритму 3.1. Робота програми розпочинається з виділення пам'яті під...
-
Виды графических редакторов - Обзор графических редакторов
Для обработки изображений на компьютере используются специальные программы - графические редакторы. Графический редактор - это программа создания,...
-
Предшественником ОС следует считать служебные программы (загрузчики и мониторы), а также библиотеки часто используемых подпрограмм, начавшие...
-
Интерфейсы систем управления. Классификация, основные характеристики интерфейсов. Системные (внутримашинные) интерфейсы. Интерфейсы персональных...
-
Один из наиболее простых и, в то же время, наиболее выразительных способов изменения внешнего вида текста состоит в изменении шрифта, которым он написан....
-
В данном реферате рассматриваются основные принципы создания и форматирования документов с помощью одного из самых распространенных текстовых редакторов...
-
Основным преобразователем формируются напряжения: +5В для питания всей электронной части принтера и цифровых микросхем; +12В для питания цепей...
-
Графический редактор Paint - Операционная система Windows
Программа Paint - сравнительно простой графический редактор, который входит в комплект поставки Windows 95/98 и Windows NT. Программа Paint позволяет...
-
Введение - Обзор графических редакторов
Представление данных на мониторе компьютера в графическом виде впервые было реализовано в середине 50-х годов для больших ЭВМ, применявшихся в научных и...
-
Кодирование цвета Кодируется цвет графических изображений с помощью бит. Количество бит, с помощью которых закодирован цвет называют битовой глубиной...
-
Описание алгоритмов Рассмотрим один из основных алгоритмов, задействованных в программе, - алгоритм передвижения мяча. Блок-схема алгоритма изображена на...
-
С целью более удобного проектирования, настройки, и разделения отдельных исполняемых операций, программа построена на классах, которые взаимодействуют...
-
Алгоритм работы декодера кода Рида - Маллера будем разрабатывать на основе уже приведенных выше уравнений. Алгоритм приведен на рисунке 12. В начале...
-
Все тэги HTML начинаются с "<" (левой угловой скобки) и заканчиваются символом ">" (правой угловой скобки). Как правило, существует стартовый тэг и...
-
Среда графического редактора - Обзор графических редакторов
Пользовательский интерфейс большинства графических редакторов организуется следующим образом. С левой стороны экрана располагается набор пиктограмм...
-
Пример с tegview ¦ L-- qml ¦ +-- tegrender. js ¦ L-- tegview. qml +-- tegview ¦ +--...
-
Поворот точки относительно центра на заданный угол: X = o. X + (p. X-o. X) * cos(angle) - (p. Y-o. Y) * sin(angle) Y = o. Y + (p. X-o. X) * sin(angle) +...
-
Анкеты, опросные листы и многие другие документы представляют собой бланки, предназначенные для заполнения и последующей обработки, Часто бланк также...
-
ОПИСАНИЕ ПРОГРАММЫ, ОСНОВНЫЕ ПЕРЕМЕННЫЕ И СТРУКТУРЫ - Структуры и алгоритмы обработки данных
ОСНОВНЫЕ ПЕРЕМЕННЫЕ И СТРУКТУРЫ Struct BD { char FIO[32]; // фоpмат <Фамилия>_<Имя>_<Отчество> int numberO; char dolzhnost[32]; char dateB[8]; }...
-
Графический способ описания алгоритмов
Графический способ описания алгоритмов Цель практической работы Цель работы: изучение графического способа описания алгоритма для решения задачи. Задачи...
-
Специальные манипуляторы. Кроме обычной мыши существуют и другие типы манипуляторов, например: трекболы, пенмаусы, инфракрасные и лазерные мыши. Трекбол...
-
ER - диаграмма базы данных была представлена на рис. 2. Рис.2. ER-диаграмма базы данных. Таблица admin - содержит два столбца login и password которые...
-
МЕТОДОВ МЕТОД СОРТИРОВКИ Пирамидальная сортировка Пирамидальная сортировка основана на алгоритме построения пирамиды. Последовательность aI, aI+1,...,aK...
-
Основная программа Построение интерполяционного многочлена Нахождение максимума функции методом дихотомии Вычисление значения заданной функции Создание и...
-
Формулировка задания: Составьте программу подсчета числа тех гласных букв в слове X, что не используются в написании слова Z. Описание входных/выходных и...
-
Заключение, Список литературы - Основы работы с графическим редактором AutoCAD
С помощью программы AutoCAD 2006 можно создавать чертежи, необходимые как в гражданских целях, так и в военных. Программа содержит насыщенный набор...
-
Введение, ХОД РАБОТЫ - Основы работы с графическим редактором AutoCAD
Что же такое программа AutoCAD 2006? Это традиционное проектирование, визуализация, выпуск документации и воплощение ваших идей эффективно и в полном...
-
В длинных документах большинство абзацев форматируется одинаково. Точнее говоря, обычно существует несколько вариантов оформления абзаца, которые...
-
Библиотека MSHTML MSHTML (так же известен как Trident) - браузерный движок для Microsoft Internet Explorer. Впервые Trident был реализован в четвертой...
-
Програмний код для алгоритму ЕЦП ЕЦП DSS/DSА - Розробка електронного цифрового підпису
#include "stdafx. h" Extern "C" { #include "miracl. h" } #include <ctime> #include <cstring> #include <iostream> Class DSA { Public: Big p, q,...
Блок-схема алгоритма - Основные типы графических редакторов