Форум по Delphi программированию

Delphi Sources



Вернуться   Форум по Delphi программированию > Все о Delphi > [ "Начинающим" ]
Ник
Пароль
Регистрация <<         Правила форума         >> FAQ Пользователи Календарь Поиск Сообщения за сегодня Все разделы прочитаны

 
 
Опции темы Поиск в этой теме Опции просмотра
  #1  
Старый 01.02.2012, 17:24
vetatto vetatto вне форума
Прохожий
 
Регистрация: 01.02.2012
Сообщения: 2
Репутация: 10
По умолчанию Алгоритм Брезенхема

Привет всем! У меня возникла проблема с алгоритмом Брезенхема для окружности.

Нужно нарисовать окружность на изображении.
Если я рисую ее на цветном изображении, то выходит вот


А если на черно-белом то вот


Сам алгоритм
PHP код:
procedure bres_circle(xc,yc,r:integer);
 var 
x,y,d:integer;
 
procedure sim(x,y:integer);
  
begin
    Form1
.Image1.Canvas.Pixels[x+xc,y+yc]:=clred;
    
Form1.Image1.Canvas.Pixels[x+xc,-y+yc]:=clred;
    
Form1.Image1.Canvas.Pixels[-x+xc,-y+yc]:=clred;
    
Form1.Image1.Canvas.Pixels[-x+xc,y+yc]:=clred;
    
Form1.Image1.Canvas.Pixels[y+xc,x+yc]:=clred;
    
Form1.Image1.Canvas.Pixels[y+xc,-x+yc]:=clred;
    
Form1.Image1.Canvas.Pixels[-y+xc,-x+yc]:=clred;
    
Form1.Image1.Canvas.Pixels[-y+xc,x+yc]:=clred;

  
end;
  
begin
  d
:=3-2*y;
  
x:=0;
  
y:=r;
  while(
<= y) do
    
begin
     sim
(x,y);
     if 
d<0    then d:=d+4*x+6
     
else begin
     d
:=d+4*(x-y)+10;
     
dec(y)
    
end;
  
inc(x)
  
end;
 
end

Подскажите почему так? Мне нужно работать именно с ЧБ изображением, причем при рисовании окружности нужно знать ее точки из-за этого Просто функцией Ellipse не выходит...

Последний раз редактировалось vetatto, 01.02.2012 в 17:29.
Ответить с цитированием
 


Delphi Sources

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск
Опции просмотра

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

BB-коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.
Быстрый переход


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


 

Сайт

Форум

FAQ

Соглашения

Прочее

 

Copyright © Форум "Delphi Sources" by BrokenByte Software, 2004-2025