Справочник функций

Ваш аккаунт

Войти через: 
Забыли пароль?
Регистрация
Информацию о новых материалах можно получать и без регистрации:

Почтовая рассылка

Подписчиков: -1
Последний выпуск: 19.06.2015

setlinestyle

setlinestyle


Функция            Устанавливает толщину и тип линии.

Синтаксис          #include <graphics.h>
                   void far setlinestyle(int linestyle,
                              unsigned upattern, int thickness);

Файл, содержащий   graphics.h
прототип

Описание           Устанавливает тип   для   всех   линий,   рисуемых
                   функциями line, lineto, rectangle, drawpoly и т.д.

                   Структура linesettingstype определена в graphics.h
                   следующим образом:

                       struct linesettingstype{
                          int linestyle;
                          unsigned upattern;
                          int thickness;
                       };

                   linestyle определяет   тип  линий,  который  будет
                   использоваться       (непрерывная,        пунктир,
                   штрихпунктир,       штриховая).      Перечисленные
                   line_styles,  определенные  в   graphics.h,   дают
                   названия этим операциям:

                   -------------------------------------------
                    Название      Знач.       Описание
                   -------------------------------------------
                   SOLID_LINE        0     сплошная
                   DOTTED_LINE       1     пунктир
                   CENTER_LINE       2     штрихпунктир
                   DASHED_LINE       3     штриховая
                   USERBIT_LINE      4     тип линии, заданный
                                           пользователем
                   -------------------------------------------

                   thickness определяет будут  ли  последующие  линии
                   тонкими или толстыми.

                   -------------------------------------------
                    Название      Знач.       Описание
                   -------------------------------------------
                   NORM_WIDTH        1     толшина в 1 пиксел
                   THICK_WIDTH       3     толщина в 3 пиксела
                   -------------------------------------------

                   upattern -   это   16-битный    шаблон,    который
                   используется    только   когда   linestyle   равен
                   USERBIT_LINE (4).  В этом  случае,  каждый  бит  в
                   шаблоне  установленный в 1,  соответствует пикселю
                   на линии в текущем цвете. Например, сплошной линии
                   соответстсвует  upattern  равный  0xFFFF (рисуются
                   все пикселы),  а пунктиру  соответствует  upattern
                   равный   0x3333   или  0x0F0F.  Если  же  параметр
                   linestyle в  setlynestyle  не  равен  USERBIT_LINE
                   (!=4),     то    upattern    поддерживается,    но
                   игнорируется.

                   Замечание. Параметр  linestyle  не  работает   при
                   построении  дуг,  кругов,  эллипсов и секторов.  В
                   этом случае используется пареметр thickness.

Возвращаемое       Если в setlinestyle передается неправиль-
значение           ный ввод, graphresult возвратит -11, а текущий тип
                   линии останется без изменений.

Переносимость      Функция уникальна  для  Borland C++.  Она работает
                   только на компьютерах IBM PC и совместимых с ними,
                   оснащенных дисплейными адаптерами, поддерживающими
                   графический  режим.  Функция   не   совместима   с
                   Windows.

Смотрите также     arc, bar3d, circle, drawpoly, ellipse,
                   getlinesettings, graphresult, line, linerel
                   lineto, pieslice, rectangle.

Пример:

#include <graphics.h>
#include <stdlib.h>
#include <stdio.h>
#include <conio.h>

/* имена поддерживаемых типов линий */
char lname[] = {"SOLID_LINE",
                "DOTTED_LINE",
                "CENTER_LINE",
                "DASHED_LINE",
                "USERBIT_LINE"
                };

int main(void)
{
/* Запрос автоопределения */
int graphdriver = DETECT, gmode, errorcode;
int midx,midy,style,userpat;
char stylestr[80];

/* инициализация графики и локальных переменных */
initgraph(&graphdriver,&gmode,"");

/* получение результата инициализации */
errorcode = graphresult();
if(errorcode != grOk)  /* если ошибка */
{
   printf("Ошибка :%s\n",grapherrormessage(errorcode));
   printf("Для останова нажмите любую клавишу\n");
   getch();
   exit(1);  /* завершение с кодом ошибки */
}
midx = getmaxx()/2;
midy = getmaxy()/2;
/* пользовательский шаблон: 1 (двоичный:0000000000000001) */
userpat = 1;
for(style = SOLID_STYLE; style <= USERBIT_STYLE; style++)
{
   /* установить тип линии */
   setlinestyle(style,userpat,1)
   /* пребразовать в строку */
   strcpy(stylestr,lname[style]);
   /* нарисовать линию */
   line(0,0,midx-10,midy);
   /* нарисовать прямоугольник */
   rectangle(0,0,getmaxx(),getmaxy());
   /* вывести сообщение */
   outtextxy(midx,midy,stylestr);
   /* ожидать нажатия клавиши */
   getch();
   cleardevice();
}
/* очистка */
closegraph();
return 0;
}

Оставить комментарий

Комментарий:
можно использовать BB-коды
Максимальная длина комментария - 4000 символов.
 
Реклама на сайте | Обмен ссылками | Ссылки | Экспорт (RSS) | Контакты
Добавить статью | Добавить исходник | Добавить хостинг-провайдера | Добавить сайт в каталог