Закраска гранично-заданной области с затравкой, Машинная графика, C++ Builder 4.0
Категория реферата: Рефераты по информатике, программированию
Теги реферата: сочинение рассуждение на тему, шпоры по химии
Добавил(а) на сайт: Кузьмич.
Предыдущая страница реферата | 1 2 3 4 5 6 7 | Следующая страница реферата
Последовательность работы алгоритма для гранично-определенной области следующая:
1. Координата затравки помещается в стек, затем до исчерпания стека выполняются пункты 2-4.
2. Координата очередной затравки извлекается из стека и выполняется максимально возможное закрашивание вправо и влево по строке с затравкой, т.е. пока не попадется граничный пиксель. Пусть это Хлев и Хправ, соответственно.
3. Анализируется строка ниже закрашиваемой в пределах от Хлев до Хправ и в ней находятся крайние правые пиксели всех, не закрашенных фрагментов. Их координаты заносятся в стек.
4. То же самое проделывается для строки выше закрашиваемой.
3. Реализация
Данный алгоритм был реализован в Borland C++ Builder 4.
При запуске программы пользователю предлагается задать гранично- заданную область. Алгоритм правильно заполняет любую область, включая достаточно сложные области, в которых присутствуют отверстия. Далее необходимо указать начальную точку заливки.
В результате работы будет получена закрашенная область.
4. Листинг
//---------------------------------------------------------------------
------
#include
#pragma hdrstop
#include "windows.h"
#include "Unit1.h"
//---------------------------------------------------------------------
------
#pragma package(smart_init)
#pragma resource "*.dfm"
TForm1 *Form1; int x0=0,y0=0,start=0,xtmp,ytmp,xmet=-4,ymet=-2,metka=0; // переменные для построения графика
int tx,ty,xm,xr,xl,j,c,meta; //Переменные самого алгоритма
TColor kraska=clRed,bcolor=clBlue,nomy,my; struct pointt { unsigned int x; unsigned int y;
};
static pointt pont[500][500]; //Матрица реализаций int raz;
Рекомендуем скачать другие рефераты по теме: реферат по социологии, отцы и дети сочинение.
Предыдущая страница реферата | 1 2 3 4 5 6 7 | Следующая страница реферата