Шаг 77.
Visual Prolog.
Предикаты рисования

    На этом шаге мы рассмотрим предикаты рисования.

    Рассмотрим подробнее доступные операции рисования.

Рисование пикселей

    Предикат draw_Pixel/3 устанавливает заданный цвет пикселя:

   draw_Pixel(window Window,pnt Position,color Color)

    Обратная операция выполняется при помощи предиката:

   Color=Win_GetPixel(Window,pnt(X,Y))

    Этот предикат возвращает цвет пикселя с координатами (X,Y) в окне Window.

Закрашивание области

   draw_FloodFill(Window,Pnt,StopColor)

    Предикат draw_FloodFill устанавливает цвет пикселя с координатами (X,Y) равным цвету, определенному последней операцией win_SetBrush/2 для окна. Операция закрашивания рекурсивно применяется ко всем соседним пикселям до тех пор, пока не будут достигнуты пиксели с цветом StopColor. Если такие пиксели не встретятся, то окно рисования будет закрашено полностью.

Изображение пиктограмм

   draw_Icon(Window,X,Y,ResourceId)

    Этот предикат получает пиктограмму с заданным идентификатором ресурса из сегмента ресурсов ЕХЕ-файла активного приложения и отображает ее. Верхний левый угол пиктограммы размещается в точке с логическими координатами (X,Y).

Изображение контуров фигур

   draw_Line(Window,Pnt,Pnt)
   draw_Arc(Window,Rct,integer StartX,integer StartY,
      integer StopX,integer StopY)
    polyline(Window,PntList)

    Эти предикаты рисуют только контур фигуры с использованием пера и не закрашивают кистью внутреннюю область фигуры.

Изображение закрашенных фигур

   draw_Ellipse(Window,Rct)
   draw Pie(Window,Rct,integer StartX,integer StartY,
      integer StopX,integer StopY)
   draw_Polygon(Window,PntList) 
   draw_Rect(Window,Rct) 
   draw_RoundRect(Window,Rct,integer EllipseWidth,integer EllipseHeight)

    Контур фигуры рисуется текущим пером, а внутренняя область фигуры автоматически закрашивается текущей кистью.

    На следующем шаге мы рассмотрим вывод текста.




Предыдущий шаг Содержание Следующий шаг