| [ |
mood |
| |
Калбасит |
] |
| [ |
music |
| |
Венамп - Ит рили випс зе ламас эс |
] |
Во паибень! Изйобывалсо тут ресовал окружности по брезенхейму (под GDI для одной тулзы) а оказываеццо ф канвасе есть Arc() каторый делает то же самое, но в 3.1415 раз лучше! Воистину все время открываеш в VCL что нибудь новое!
Ацкий кот (нимой естессна - наткнулся по сабжу - долга смиялсо)
Procedure Circle(x,y,rr:integer); var xi,yi,r,di,lim,s,ss:integer; label 1,2,3,4,10,20,30; Begin r:=rr; xi:=0; yi:=r; di:=2*(1-r); lim:=0; 1: SetPixel(xi+x,yi+y); SetPixel(xi+x,-yi+y); SetPixel(-xi+x,yi+y); SetPixel(-xi+x,-yi+y); if yi [ Error: Irreparable invalid markup ('<limthen [...] 2;>') in entry. Owner must fix manually. Raw contents below.] Во паибень! Изйобывалсо тут ресовал окружности по брезенхейму (под GDI для одной тулзы) а оказываеццо ф канвасе есть Arc() каторый делает то же самое, но в 3.1415 раз лучше! Воистину все время открываеш в VCL что нибудь новое!
Ацкий кот (нимой естессна - наткнулся по сабжу - долга смиялсо)
Procedure Circle(x,y,rr:integer); var xi,yi,r,di,lim,s,ss:integer; label 1,2,3,4,10,20,30; Begin r:=rr; xi:=0; yi:=r; di:=2*(1-r); lim:=0; 1: SetPixel(xi+x,yi+y); SetPixel(xi+x,-yi+y); SetPixel(-xi+x,yi+y); SetPixel(-xi+x,-yi+y); if yi<limthen goto 4; if di<0then goto 2; if di>0then goto 3; if di=0 then goto 20; 2: s:=2*di+2*yi-1; if s<=0then goto 10; if s>0then goto 20; 3: s:=2*di+2*xi-1; if s<=0then goto 20; if s>0then goto 30; 10:xi:=xi+1; di:=di+2*xi+1; goto 1; 20:xi:=xi+1; yi:=yi-1; di:=di+2*xi-2*yi+2; goto 1; 30:yi:=yi-1; di:=di-2*yi+1; goto 1;4: end;
|