Извините, ничего не найдено.

Не расстраивайся! Лучше выпей чайку!
Регистрация
Справка
Календарь

Вернуться   forum.boolean.name > Программирование игр для мобильных телефонов > MidletPascal > Основной форум

Основной форум Сюда все проблемы связанные с программированием.

Ответ
 
Опции темы
Старый 15.12.2008, 06:20   #1
bms2008
AnyKey`щик
 
Регистрация: 27.10.2008
Сообщений: 3
Написано 0 полезных сообщений
(для 0 пользователей)
Заливка фигуры цветом ???

Народ, подскажите, кто знает.
Как быстро залить произвольную фигуру, ограниченную линиями цвета с1, заданным цветом с2, начиная с указанной точки (x,y), находящейся внутри фигуры?

Я делал с помощью библиотеки Lib_alpha, где есть GetColor и рекурсии, но фигуру 120x300 это ТАК долго закрашивает - я пока ждал завершения программы поседел и умер 2 раза Потоки тоже не на много улучшили дело...

Моя процедура:

.....
w:=getwidth;
h:=getheight;
SetColor(255, 255, 255); //цвет заливки
Fill(xm,ym,c1);  //c1 - цвет ARGB ограничивающих линий 
.......

Procedure Fill(x,y,col1:integer);
var
	cc,cc1,cc2,cc3,cc4:integer;
begin
cc:=GetColor(im1,x,y);
cc1:=GetColor(im1,x-1,y);
cc2:=GetColor(im1,x+1,y);
cc3:=GetColor(im1,x,y-1);
cc4:=GetColor(im1,x,y+1);

			

			if (cc <> col1) then 	
			begin				
				Plot(x, y);
				im1:=ImageFromCanvas(0,0,w,h);				
			end;
				
			if (cc1 <> col1) then 	
			begin				
				Plot(x-1, y);
				im1:=ImageFromCanvas(0,0,w,h);				
				Fill(x-1,y, col1);
			end;
			if (cc2  <> col1)  then  	
			begin
				Plot(x+1, y);
				im1:=ImageFromCanvas(0,0,w,h);
				Fill(x+1,y, col1);
			end;
			if (cc3  <> col1)  then  	
			begin
				Plot(x, y-1);
				im1:=ImageFromCanvas(0,0,w,h);
				Fill(x,y-1, col1);
			end;
			if (cc4  <> col1)  then  	
			begin
				Plot(x, y+1);
				im1:=ImageFromCanvas(0,0,w,h);
				Fill(x,y+1, col1);
			end;
			
end;

Последний раз редактировалось bms2008, 15.12.2008 в 06:44.
(Offline)
 
Ответить с цитированием
Старый 15.12.2008, 17:09   #2
ger1234567
 
Сообщений: n/a
Ответ: Заливка фигуры цветом ???

BMS - это Black mesa source 2008 правельней 2009
 
Ответить с цитированием
Ответ


Опции темы

Ваши права в разделе
Вы не можете создавать темы
Вы не можете отвечать на сообщения
Вы не можете прикреплять файлы
Вы не можете редактировать сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.

Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Управление цветом с помощью HSL ELIAS Blitz3D 7 13.06.2009 12:29
Заливка rr333 2D-программирование 7 20.05.2009 02:08
Ориентация фигуры H@NON Математика 1 21.09.2008 10:35
Работа с цветом MiXaeL Полезные функции 4 24.09.2006 19:38
Окантовка трехмерной фигуры Valet 3D-программирование 12 19.08.2006 18:27


Часовой пояс GMT +4, время: 19:03.


vBulletin® Version 3.6.5.
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Перевод: zCarot
Style crйe par Allan - vBulletin-Ressources.com