С для профессиональных программистов

       

Изображение и закрашивание прямоугольников


Если у вас есть функции вычерчивания линий, то не составит особого труда создать функции вычерчивания прямоугольников. Пример, приведенный здесь, вычерчивает прямоугольники в заданном цвете путем задания координат двух противоположных углов.

/*  Вычерчивание прямоугольника  */

void box(startx,starty,endx,endy,color_code)

int startx,starty,endx,endy,color_code;

line(startx,starty,endx,starty,color_code);

line(startx,starty,startx,endy,color_code);

line(startx,endy,endx,endy,color_code);

line(endx,starty,endx,endy,color_code);

 

Для того, чтобы закрасить прямоугольник, требуется выполнить запись в каждую точку растра внутри прямоугольника. Программа fill_box(), приведенная ниже, закрашивает прямоугольник, определенный координатами двух противоположных углов, заданным цветом. В ней используется функция line(), задающая цвет внутри прямоугольника.

/* Закрашивание прямоугольника в заданный цвет */

void fill_box(startx,starty,endx,endy,color_code)

int startx,starty,endx,endy,color_code;

register int i,begin,end;

begin=startx<endx ? startx:endx;

end=startx>endx ? startx:endx;

for (i=begin;i<=end;++i)

line(i,starty,i,endy,color_code);



Содержание раздела