Что такое код getaspectratio


Процедура GetAspectRatio

Возвращает два числа, позволяющие оценить соотношение сторон экрана.

Procedure GetAspectRatio (var X,Y:Word);

Здесь, X и Y –переменные типа Word. Значения, возвращаемые в этих переменных позволяют вычислить отношение сторон графического экрана в пикселах. Найденный с их помощью коэффициент может использоваться при построении правильных геометрических фигур, таких как окружности, квадраты и т.п. Например, если необходимо построить квадрат со стороной L-пиксел по вертикали, необходимо использовать конструкции:

GetAspectRatio (Xap, Yap);

Rectangle (X1,Y1,X1+L,*round (Yap/Xap),Y1+L);

Если L определяет длину квадрата по горизонтали, то используется оператор:

Rectangle (X1,Y1,X1+L,Y1+L*round (Xap/Yap));

Процедура SetAspectRatio

Устанавливает масштабный коэффициент отношения сторон графического экрана.

Procedure SetAspectRatio (X,Y:Word);

Здесь, X и Y – устанавливаемые соотношения сторон.

Построить 20 окружностей с разными соотношениями сторон экрана.

GrDriver, GrMode: integer; k,X1,Y1:Word

InitGraph (GrDriver, GrMode, ‘C: |Bp|BGI’);

Что такое код getaspectratio

подпрограммы просто вызывают функции malloc и free, соответственно.

Действие этих функций по умолчанию можно переопределить, определив собственные функции graphgetmem и graphfreemem. Благодаря этому вы можете сами управлять распределением памяти для графики. Однако, ваши варианты функций управления распределением памяти должны иметь те же имена: они заменят собой используемые по умолчанию функции с теми же именами из стандартных библиотек языка Си.

Определив собственные функции graphgetmem и graphfreemem, вы можете получить предупреждение duplicate symbols ( повторение символических имен ). Это предупреждение можно игнорировать.

Черчение и заполнение

Ниже приводится краткий обзор функций черчения и закраски:

Чертит дугу окружности.

Чертит окружность. drawpoly

Чертит контур многоугольника.

Чертит эллиптическую дугу.

Возвращает координаты последнего вызова arc или ellipse.

Возвращает коэффициент сжатия для текущего графического режима.

Возвращает текущий тип линии, шаблон линии и толщину линии.

Чертит линию из точки (x0,y0) в (x1,y1).

Чертит линию в точку, задаваемую относительным расстоянием от текущей позиции (CP).

Чертит линию из текущей позиции (CP) в (x,y). moveto

Перемещает текущую позицию (CP) в (x,y).

Перемещает текущую позицию (CP) на относительное расстояние.

Изменяет коэффициент сжатия по умолчанию.

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

Чертит и закрашивает столбец.

Чертит и закрашивает трехмерный столбец.

Чертит и закрашивает эллипс.

Чертит и закрашивает многоугольник.

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

Возвращает информацию о текущем шаблоне и цвете закраски.

Чертит и закрашивает сектор окружности.

Чертит и закрашивает эллиптический сектор.

Выбирает шаблон закраски, определяемый пользователем.

Устанавливает шаблон и цвет закраски.

При помощи функций черчения и раскрашивания Borland C++ вы можете вычерчивать цветные линии, дуги, окружности, эллипсы, прямоугольники, секторы, дву- и трехмерные столбики, многоугольники, а также различные правильные или неправильные формы, являющиеся комбинациями перечисленных графических примитивов. Ограниченную форму изнутри или снаружи можно заполнить одним из 11 предопределенных шаблонов (образцов заполнителей), либо шаблоном, определенным пользователем. Можно также управлять толщиной и стилем линии вычерчивания, а также местоположением текущей позиции (CP).

Линии и незакрашенные формы втчерчиваются при помощи функций arc, circle, drawpoly, ellipse, line, linerel, lineto и rectangle. Затем можно закрасить эти формы с помощью floodfil, либо можно объединить вычерчивание/закраску в одном шаге при помощи функций bar, bar3d, fillellipse, fillpoly, pieslice и sector. Функция setlinestyle позволяет задать тип линий (и граничных линий форм): толстая ии тонкая, сплошная, пунктир и т.д., либо для вычерчивания линии можно задать ваш собственный шаблон. При помощи функции setfillstyle можно выбрать предопределенный шаблон заполнения, либо определить собственный шаблон заполнения в setfillpattern. Функция moveto позволяет переместить CP в желаемую позицию, а функция moverel позволяет сдвинуть ее на желаемую величину смещения.

Выяснить текущий тип и толщину линии позволяет функция getlinesettings. Информацию о текущем шаблоне заполнения и цвете заполнителя можно получить через функцию getfillsettings. Определяемый пользователем шаблон заполнения можно получить при помощи функции getfillpattern.

Получить сведения о коэффициенте относительного удлинения (коэффициенте масштабирования, применяемом графической системой для того, чтобы окружности выглядели

Процедура GetAspectRatio

Процедура GetAspectRatio — раздел Информатика, Технологии программирования Возвращает Два Числа, Позволяющие Оценить Соотношение Сторон Экрана. Заголово.

Возвращает два числа, позволяющие оценить соотношение сторон экрана. Заголовок:

Procedure GetAspectRatio(var X,Y: Word);

Здесь X, Y – переменные типа Word. Значения, возвращаемые в этих переменных, позволяют вычислить отношение сторон графического экрана в пикселях. Найденный с их помощью коэффициент может использоваться при построении правильных геометрических фигур, таких, как окружности, квадраты и т.п. Например, если вы хотите построить квадрат со стороной L пикселей по вертикали, вы должны использовать операторы

GetAspectRatio (Xasp, Yasp);

Rectangle(x1, y1, x1+L*round (Yasp/Xasp), y1+L);

а если L определяет длину квадрата по горизонтали, то используется оператор

Эта тема принадлежит разделу:

Технологии программирования

Красноярский государственный аграрный университет..

Если Вам нужно дополнительный материал на эту тему, или Вы не нашли то, что искали, рекомендуем воспользоваться поиском по нашей базе работ: Процедура GetAspectRatio

Что будем делать с полученным материалом:

Если этот материал оказался полезным ля Вас, Вы можете сохранить его на свою страничку в социальных сетях:

Все темы данного раздела:

Учебно-методическое пособие к учебной практике
для студентов специальности (направления) 010502.65 – «Прикладная информатика (в экономике)», 080700.62 – «Бизнес — информатика» Красноярск

Цель и задачи практики
Учебная практика по технологиям программирования является а) логическим продолжением дисциплин «Информатика и программирование» и «Вычислительные системы, сети и телекоммун

Организация проведения практики
Учебная практика по технологиям программирования проводится после сдачи летней сессии первого курса (второго семестра). По ее окончании студенты, успешно выполнившие программу практ

Основные требования к оформлению отчета
Отчет оформляется на листах белой бумаги формата А4 (210х297 мм) с одной стороны. Шрифт: Times New Roman 14 – 16 (в схемах алгоритмов допускается использование более мелких шрифтов,

Структура модулей
Модуль имеет следующую структуру: UNIT ; INTERFACE IMPLEMENTATION BEGIN

Заголовок модуля и связь модулей друг с другом
Заголовок модуля состоит из зарезервированного слова UNIT и следующего за ним имени модуля. Для правильной работы среды Турбо Паскаля и возможности подключения средств, облегчающих разработку крупн

Компиляция модулей
В среде Турбо Паскаля имеются средства, управляющие способом компиляции модулей и облегчающие разработку крупных программных проектов. В частности, определены три режима компиляции: COMPILE, MAKE и

Доступ к объявленным в модуле объектам
Пусть, например, мы создаем модуль, реализующий арифметику комплексных чисел (такая арифметика ни в стандартном Паскале, ни в Турбо Паскале не предусмотрена). К сожалению, в Турбо Паскале нельзя ис

Стандартные модули
В Турбо Паскале имеется восемь стандартных модулей, в которых содержится большое число разнообразных типов, констант, процедур и функций [1-3, 5]. Этими модулями являются SYSTEM, DOS, CRT, PRINTER,

Использование библиотеки CRT
Во многих случаях стандартные для Паскаля возможности ввода/вывода данных с помощью процедур Read, ReadLn, Write, WriteLn оказываются явно недостаточными для разработки удобных в ис

Функция KeyPressed
Возвращает значение типа Boolean, указывающее состояние буфера клавиатуры: False означает, что буфер пуст, a True – что в буфере есть хотя бы один символ, еще не прочитанный программой. В

Функция ReadKey
Возвращает значение типа Char. При обращении к этой функции анализируется буфер клавиатуры: если в нем есть хотя бы один непрочитанный символ, код этого символа берется из буфера и возвращается в к

Текстовый вывод на экран
Используемое в ПК устройство визуального отображения информации – дисплей – состоит из двух основных частей: монитора, содержащего экран (электронно-лучевую трубку или жидкокристаллическую панель)

Процедура TextMode
Используется для задания одного из возможных текстовых режимов работы адаптера. Заголовок процедуры: Procedure TextMode(Mode: Word); Здесь Mode – код текстового режима. В качестве

Процедура TextBackground
Определяет цвет фона. Заголовок: Procedure TextBackground(Color: Byte); Единственным параметром обращения к этим процедурам должно быть выражение типа Byte, задающее код нужного ц

Процедура ClrScr
Очищает экран или окно (см. ниже процедуру Window). После обращения к ней экран (окно) заполняется цветом фона и курсор устанавливается в его левый верхний угол. Например: Uses CRT;

Процедура Window
Определяет текстовое окно – область экрана, которая в дальнейшем будет рассматриваться процедурами вывода как весь экран. Сразу после вызова процедуры курсор помещается в левый верхний угол окна, а

Функции WhereX и WhereY
С помощью этих функций типа Byte можно определить текущие координаты курсора: WhereX возвращает его горизонтальную, a WhereY – вертикальную координаты. В следующей программе сначала в цент

Процедура AssignCRT
Связывает текстовую файловую переменную F с экраном с помощью непосредственного обращения к видеопамяти (т.е. к памяти, используемой адаптером для создания изображения на экране). В результате выво

Процедура Delay
Обеспечивает задержку работы программы на заданный интервал времени. Заголовок процедуры: Procedure Delay(T: Word); Здесь Т – выражение типа Word, определяющее интервал времени (в

Краткая характеристика графических режимов работы дисплейных адаптеров
Настройка графических процедур на работу с конкретным адаптером достигается за счет подключения нужного графического драйвера. Драйвер – это специальная программа, осуществляющая управление теми ил

Процедура InitGraph
Инициирует графический режим работы адаптера. Заголовок процедуры: Procedure InitGraph(var Driver,Mode: Integer; Path: String); Здесь Driver – переменная типа Integer, определяет

Функция GraphResult
Возвращает значение типа Integer, в котором закодирован результат последнего обращения к графическим процедурам. Если ошибка не обнаружена, значением функции будет ноль, в противном случае – отрица

Функция GraphErrorMsg
Возвращает значение типа String, в котором по указанному коду ошибки дается соответствующее текстовое сообщение. Заголовок функции: Function GraphErrorMsg(Code: Integer): String;

Процедура SetGraphMode
Устанавливает новый графический режим работы адаптера. Заголовок: Procedure SetGraphMode(Mode: Integer); Здесь Mode – код устанавливаемого режима. Следующая программа илл

Функция GetModeName
Возвращает значение типа String, содержащее разрешение экрана и имя режима работы адаптера по его номеру. Заголовок: Function GetModName(ModNumber: Integer): String; Здесь ModNumb

Процедура GetModeRange
Возвращает диапазон возможных режимов работы заданного графического адаптера. Заголовок: Procedure GetModeRange(Drv: Integer; var Min, Max: Integer); Здесь Drv – тип адаптера; Min

Процедура SetViewPort
Устанавливает прямоугольное окно на графическом экране. Заголовок: Procedure SetViewPort(XI,Y1,X2,Y2: Integer; ClipOn: Boolean); Здесь X1. Y2 – координаты левого верхнего (XI,Y1)

Процедура ClearViewPort
Очищает графическое окно, а если окно не определено к этому моменту — весь экран. При очистке окно заполняется цветом с номером О из текущей палитры. Указатель перемещается в левый верхний угол окн

Процедура SetAspectRatio
Устанавливает масштабный коэффициент отношения сторон графического экрана. Заголовок: Procedure SetAspectRatio(X,Y: Word); Здесь X, Y- устанавливаемые соотношения сторон.

Процедура SetActivePage
Делает активной указанную страницу видеопамяти. Заголовок: Procedure SetActivePage(PageNum: Word); Здесь PageNum – номер страницы. Процедура может использоваться только с

Процедура SetVisualPage
Делает видимой страницу с указанным номером. Обращение: Procedure SetVisualPAge(PageNum: Word); Здесь PageNum – номер страницы. Процедура может использоваться только с ад

Процедура PutPixel
Выводит заданным цветом точку по указанным координатам. Заголовок: Procedure PutPixel(X,Y: Integer; Color: Word); Здесь X, Y– координаты точки; Color – цвет точки. Коорди

Процедура Line
Вычерчивает линию с указанными координатами начала и конца. Заголовок: Procedure Line(X1,Y1,X2,Y2: Integer); Здесь XL. .Yl – координаты начала (XI, Y1) и конца (Х2, Y2) линии.

Процедура SetLineStyle
Устанавливает новый стиль вычерчиваемых линий. Заголовок: Procedure SetLineStyle(Type,Pattern,Thick: Word) Здесь Type, Pattern, Thick – соответственно тип, образец и толщина линии

Процедура SetWriteMode
Устанавливает способ взаимодействия вновь выводимых линий с уже существующим на экране изображением. Заголовок: Procedure SetWriteMode(Mode); Здесь Mode – выражение типа Integer,

Процедура Rectangle
Вычерчивает прямоугольник с указанными координатами углов. Заголовок: Procedure Rectangle(X1,Y1,X2,Y2: Integer); Здесь X1. Y2 – координаты левого верхнего (X1, Y1) и правого ниж

Процедура DrawPoly
Вычерчивает произвольную ломаную линию, заданную координатами точек излома. Procedure DrawPoly(N: Word; var Points) Здесь N – количество точек излома, включая обе крайние точки; P

Процедура Circle
Вычерчивает окружность. Заголовок: Procedure Circle(X,Y: Integer; R: Word); ЗдесьX, Y– координаты центра; R – радиус в пикселях. Окружность выводится текущим цветом. Толщ

Процедура Arc
Чертит дугу окружности. Заголовок: Procedure Arc(X,Y: Integer; BegA,EndA,R: Word); Здесь X, Y – координаты центра; BegA, EndA – соответственно начальный и конечный углы дуги; R –

Процедура GetArcCoords
Возвращает координаты трех точек: центра, начала и конца дуги. Заголовок: Procedure GetArcCoords(var Coords: ArcCoordsType); Здесь Coords – переменная типа ArcCoordsType, в которо

Процедура Ellipse
Вычерчивает эллипсную дугу. Заголовок: Procedure Ellipse(X,Y: Integer; BegA,EndA,RX,RY: Word); Здесь X, Y – координаты центра; BegA, EndA – соответственно начальный и конечный угл

Процедура SetBkColor
Устанавливает цвет фона. Заголовок: Procedure SetBkColor(Color: Word); Здесь Color – цвет фона. В отличие от текстового режима, в котором цвет фона может быть только темн

Процедура SetPalette
Заменяет один из цветов палитры на новый цвет. Заголовок: Procedure SetPalette(N: Word; Color: Shortlnt); Здесь N – номер цвета в палитре; Color – номер вновь устанавливаемого цве

Процедура GetPalette
Возвращает размер и цвета текущей палитры. Заголовок: Procedure GetPalette(var Palettelnfo: PaletteType); Здесь Palettelnfo – переменная типа PaletteType, возвращающая размер и цв

Процедура SetAllPalette
Изменяет одновременно несколько цветов палитры. Заголовок процедуры: Procedure SetAllPalette(var Palette); Параметр Palette в заголовке процедуры описан как нетипизированный парам

Процедура SetFillStyle
Устанавливает стиль (тип и цвет) заполнения. Заголовок: Procedure SetFillStyle(Fill,Color: Word); Здесь Fill – тип заполнения; Color – цвет заполнения. С помощью заполнен


Процедура SetFillPattern
Устанавливает образец рисунка и цвет штриховки. Заголовок: Procedure SetFillPattern(Pattern: FillPatternType;Color: Word); Здесь Pattern – выражение типа FillPatternType; устанавл

Илон Маск рекомендует:  Обзор Intel Pentium Haswell, отзывы пользователей

Процедура GetFillSettings
Возвращает текущий стиль заполнения. Заголовок: Procedure GetFillSettings(var Pattlnfo: FillSettingsType); Здесь Pattlnfo – переменная типа FillSettingsType, в которой возвращаетс

Процедура SetRGBPalette
Устанавливает цветовую гамму при работе с дисплеем IBM 8514 и адаптером VGA. Заголовок: Procedure SetRGBPalette(ColNum, RedVal,GreenVal,BlueVal:Integer); Здесь ColNum – н

Процедура FloodFill
Заполняет произвольную замкнутую фигуру, используя текущий стиль заполнения (узор и цвет). Заголовок: Procedure FloodFill(X,Y: Integer; Border: Word); Здесь X, Y – координаты любо

Процедура Bar
Заполняет прямоугольную область экрана. Заголовок: Procedure Bar(X1,Y1,X2,Y2: Integer); Здесь XJ. Y2 – координаты левого верхнего (X1, Y1) и правого нижнего (Х2, Y2) углов закраш

Процедура Ваr3D
Вычерчивает трехмерное изображение параллелепипеда и закрашивает его переднюю грань . Заголовок: Procedure Ваr3D (X1,Y1,X2,Y2,Depth: Integer; Top: Boolean); Здесь X1. Y2 – коорд

Процедура FillPoly
Обводит линией и закрашивает замкнутый многоугольник. Заголовок: Procedure FillPoly(N: Word; var Coords); Здесь N – количество вершин замкнутого многоугольника; Coords – переменна

Процедура Sector
Вычерчивает и заполняет эллипсный сектор. Заголовок: Procedure Sector(X,Y: Integer; BegA,EndA,RX,RY: Word); Здесь BegA, EndA – соответственно начальный и конечный углы эллипсного сектора.

Процедура PieSlice
Вычерчивает и заполняет сектор окружности. Заголовок: Procedure PieSlice(X,Y: Integer; BegA,EndA,R: Word); В отличие от процедуры Sector, указывается лишь один горизонтальный ради

Процедура PutImage
Выводит в заданное место экрана копию фрагмента изображения, ранее помещенную в память процедурой Getlmage. Заголовок: Procedure Putlmage(X,Y: Integer; var Buf; Mode: Word); Здесь

Вывод текста
Описываемые ниже стандартные процедуры и функции поддерживают вывод текстовых сообщений в графическом режиме. Это не одно и то же, что использование процедур Write или WriteLn. Дело в том, что спец

Процедура OutText
Выводит текстовую строку, начиная с текущего положения указателя. Заголовок: Procedure OutText(Txt: String); Здесь Txt – выводимая строка. При горизонтальном направлении

Процедура SetTextStyle
Устанавливает стиль текстового вывода на графический экран. Заголовок: Procedure SetTextStyle(Font,Direct,Size: Word); Здесь Font – код (номер) шрифта; Direct – код направления; S

Процедура SetTextJustify
Задает выравнивание выводимого текста по отношению к текущему положению указателя или к заданным координатам. Заголовок: Procedure SetTextJustify(Horiz,Vert: Word); Здесь Horiz –

Процедура SetUserCharSize
Изменяет размер выводимых символов в соответствии с заданными пропорциями. Заголовок: Procedure SetUserCharSize(XI,X2,Yl,Y2: Word); Здесь X1. Y2 – выражения типа Word, определяющ

Процедура GetTextSettings
Возвращает текущий стиль и выравнивание текста. Заголовок: Procedure GetTextSettins(var Textlnfo: TextSettingsType); Здесь Textlnfo – переменная типа TextSettingsType, который в м

Функция InstallUserFont
Позволяет программе использовать нестандартный векторный шрифт. Заголовок функции: Function InstallUserFont(FileName: String): Integer; Здесь FileName – имя файла, содержащего век

Функция InstallUserDriver
Включает нестандартный графический драйвер в систему BGI-драйверов. Заголовок функции: Function InstallUserDriver(FileName: String; AutoDetectPtr: Pointer): Integer; Здесь FileNam

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

Глоссарий
Видеоадаптер (или видеокарта) – это специальное устройство, позволяющее выводить изображение на экран монитора. Видеокарта состоит из следующих частей: видеопамять,

Отчет по учебной практике
«Технологии программирования» Выполнил(а) студент(ка) группы _____ _(Фамилия, имя, отчество)_ «___

Правила выполнения схем
1.1. При выполнении схем алгоритмов и программ отдельные функции алгоритмов и программ, с учетом степени их детализации, отображаются в виде условных графических обозначений – символов по ГОСТ 19.0

Правила применения символов
2.1. Применения символов должно соответствовать указанному в таблице. Фрагмент схемы Содержание обозначения

Государственный стандарт союза сср
Единая система программной документации ГОСТ 19.003-80 Взамен ГОСТ 19428-74 СХЕМЫ АЛГОРИТМОВ И ПРОГРАММ. ОБОЗНАЧ

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

Соотношение геометрических элементов символов
2.1. Размер a должен выбираться из ряда 10, 15, 20 мм. Допускается увеличивать размер a на число, кратное 5. Размер b равен 1,5a. Примечание. При ручном выполнении схем ал

Теоретическая часть

Постановка задачи

Дан двухмерный массив размером MxN. Найти сумму всех элементов каждого столбца массива. Из первых четырех строк массива сформировать четыре новых вектора (одномерные массивы). Для каждого определить сколько раз меняется знак.

  • — число строк и столбцов M и N;
  • — двухмерный массив действительных чисел размерностью MxN.
  • — сумма всех элементов каждого столбца массива;
  • — четыре вектора, полученные их первых четырех строк массива;
  • — количество смены знака в каждом векторе.

Описание языка программирования

Языком программирования называется система правил написания текстов, выполнение которых позволяет компилятору преобразовать этот текст в набор машинных инструкций и данных. Все языки программирования характеризуются степенью их зависимости от машинного языка (последовательности двоичных команд и данных, обрабатываемых процессором). Машинно-зависимыми являются языки, позволяющие записывать отдельные машинные инструкции и операнды с помощью символьных имен.

Достоинством машинно-зависимых языков является высокое качество программ (минимальный объем используемой памяти при максимальной скорости счета). Однако применять такие языки для написания сложных программ практически невозможно из-за высоких временных затрат на создание и отладку программ.

Машинно-независимые языки не связаны с системой команд процессора. Они предоставляют программисту различные средства расчленения программ на ряд относительно независимых фрагментов — процедур, поэтому часто называются процедурно-ориентированными. К машинно-независимым языкам программирования относится язык, используемый в системе программирования Турбо паскаль.

Система программирования турбо паскаль представляет собой единство двух в известной степени самостоятельных начал: компилятора с языка программирования паскаль (язык назван в честь выдающегося французского математика и философа Блеза Паскаля (1623 — 1662)) и некоторой инструментальной программной оболочки, способствующей повышению эффективности создания программ. В дальнейшем, реализуемый компилятором язык программирования Паскаль — язык Турбо Паскаль, а разнообразные сервисные услуги, предоставляемые программной оболочкой — среда Турбо Паскаля.

Среда Турбо Паскаля — это первое, с чем сталкивается любой программист, приступающий к практической работе с системой.

Алфавит языка программирования представляет собой набор неделимых конструкций, которые рассматриваются компилятором как единое целое.

Алфавит языка Турбо Паскаль включает буквы, цифры, в том числе шестнадцатеричные, специальные символы, пробелы, зарезервированные слова и стандартные директивы.

Буквы — это буквы латинского алфавита от a до z и от A до Z. А также знак подчеркивания _. В Турбо Паскале нет различия между прописными и строчными буквами алфавита, если только они не входят в символьные и строковые выражения.

Цифры — арабские цифры от 0 до 9.

Каждая шестнадцатеричная цифра имеет значение от 0 до 15. Первые 10 значений обозначаются арабскими цифрами 0…9, остальные шесть — латинскими буквами A…F или a…f.

Специальные символы Турбо Паскаля: + — * / = , ` . : ; [ ] ( ) < >^ @ $ #

К специальным символам относятся также следующие пары символов: <> = := (* *) (. .)

В программе эти пары символов нельзя разделять пробелами.

Алгоритм — точное и понятное предписание исполнителю совершить последовательность действий, направленных на решение поставленной задачи.

Основные свойства алгоритмов:

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

Конечность (дискретность) — алгоритм должен представлять процесс решения задачи как последовательное выполнение простых (или ранее определенных) шагов (этапов).

Определенность — каждый шаг алгоритма должен быть четко и недвусмысленно определен и не допускать произвольной трактовки исполнителем.

Результативность — цель выполнения алгоритма это получение результата (результатов), имеющего вполне определенное отношение к исходным данным.

Массовость — возможность применять один и тот же алгоритм для решения целого класса однотипных задач, различающихся исходными данными.

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

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

Обозначение и пример заполнения

Вычислительное действие или последовательность действий

Что такое код getaspectratio

We recommend upgrading to the latest Google Chrome or Firefox.

Join GitHub today

GitHub is home to over 40 million developers working together to host and review code, manage projects, and build software together.

CBA_A3 / addons / ui / fnc_getAspectRatio.sqf

#include » script_component.hpp «
/* —————————————————————————-
Function: CBA_fnc_getAspectRatio
Description:
Used to determine the Aspect ratio of the screen.
Parameters:
_output — string with one of [«ARRAY»,»NUMBER»,»STRING»]
Returns:
array, string or number of screenratio i.e. [16,9] or «16:9» or 1.333 ..
Examples:
(begin example)
_ratio = «STRING» call CBA_fnc_getAspectRatio;
_ratio = «ARRAY» call CBA_fnc_getAspectRatio;
_ratio = «NUMBER» call CBA_fnc_getAspectRatio;
(end)
Author:
commy2
—————————————————————————- */
SCRIPT(getAspectRatio);
#define ASPECT_RATIOS [ » 1.33 » , » 1.25 » , » 1.78 » , » 1.60 » , » 4.00 » ]
#define ASPECT_RATIOS_NAMES [ » 4:3 » , » 5:4 » , » 16:9 » , » 16:10 » , » 12:3 » ]
#define ASPECT_RATIOS_ARRAYS [[ 4 , 3 ], [ 5 , 4 ], [ 16 , 9 ], [ 16 , 10 ], [ 12 , 3 ]]
params [[ » _returnType » , » STRING » , [ » » ]]];
private _aspectRatio = getResolution select 4 ;
if ( _returnType == » NUMBER » ) exitWith <
_aspectRatio / ( 4 / 3 ) // return
>;
_aspectRatio = ASPECT_RATIOS find ( _aspectRatio toFixed 2 );
if ( _returnType == » STRING » ) exitWith <
ASPECT_RATIOS_NAMES param [ _aspectRatio , » error » ] // return
>;
if ( _returnType == » ARRAY » ) exitWith <
ASPECT_RATIOS_ARRAYS param [ _aspectRatio , [ — 1 , — 1 ]] // return
>;
nil
  • © 2020 GitHub , Inc.
  • Terms
  • Privacy
  • Security
  • Status
  • Help

You can’t perform that action at this time.

You signed in with another tab or window. Reload to refresh your session. You signed out in another tab or window. Reload to refresh your session.

Что такое код getaspectratio

Подписывайся на YouTube канал о программировании, что бы не пропустить новые видео!

Возвращает два числа, позволяющие оценить соотношение сторон экрана. Заголовок:

Procedure GetAspectRatio(var X,Y: Word);

GetAspectRatio (Xasp, Yasp);
Rectangle(x1, y1, x1+L*round (Yasp/Xasp), y1+L);

Процедура GetAspectRatio – получение относительного масштаба изображения по горизонтали и по вертикали
Опубликовал Kest Май 10 2010 19:11:32 · 0 Комментариев · 5947 Прочтений ·

• Не нашли ответ на свой вопрос? Тогда задайте вопрос в комментариях или на форуме! •

Комментарии
Нет комментариев.
Добавить комментарий
Рейтинги

Рейтинг доступен только для пользователей.

Пожалуйста, залогиньтесь или зарегистрируйтесь для голосования.

Вы не зарегистрированны?
Нажмите здесь для регистрации.

Забыли пароль?
Запросите новый здесь .

Процедура GetAspectRatio

Процедура GetAspectRatio — раздел Информатика, Технологии программирования

Возвращает два числа, позволяющие оценить соотношение сторон экрана. Заголовок:

Procedure GetAspectRatio(var X,Y: Word);

Здесь X, Y – переменные типа Word. Значения, возвращаемые в этих переменных, позволяют вычислить отношение сторон графического экрана в пикселях. Найденный с их помощью коэффициент может использоваться при построении правильных геометрических фигур, таких, как окружности, квадраты и т.п. Например, если вы хотите построить квадрат со стороной L пикселей по вертикали, вы должны использовать операторы

GetAspectRatio (Xasp, Yasp);

Rectangle(x1, y1, x1+L*round (Yasp/Xasp), y1+L);

а если L определяет длину квадрата по горизонтали, то используется оператор

Эта тема принадлежит разделу:

Технологии программирования

Красноярский государственный аграрный университет.

Если Вам нужно дополнительный материал на эту тему, или Вы не нашли то, что искали, рекомендуем воспользоваться поиском по нашей базе работ: Процедура GetAspectRatio

Все темы данного раздела:

Учебно-методическое пособие к учебной практике
для студентов специальности (направления) 010502.65 – «Прикладная информатика (в экономике)», 080700.62 – «Бизн

Цель и задачи практики
Учебная практика по технологиям программирования является а) логическим продолжением дисцип

Организация проведения практики
Учебная практика по технологиям программирования проводится после сдачи летней сессии первого ку

Основные требования к оформлению отчета
Отчет оформляется на листах белой бумаги формата А4 (210х297 мм) с одной стороны. Шрифт: Times New Roman 14 – 16 (�

Структура модулей
Модуль имеет следующую структуру: UNIT ; INTERFACE IMPLEMENTATION

Заголовок модуля и связь модулей друг с другом
Заголовок модуля состоит из зарезервированного слова UNIT и следующего за ним имени модуля. Для правильной р�

Компиляция модулей
В среде Турбо Паскаля имеются средства, управляющие способом компиляции модулей и облегчающие разработку �

Доступ к объявленным в модуле объектам
Пусть, например, мы создаем модуль, реализующий арифметику комплексных чисел (такая арифметика ни в стандар

Стандартные модули
В Турбо Паскале имеется восемь стандартных модулей, в которых содержится большое число разнообразных типо�

Использование библиотеки CRT
Во многих случаях стандартные для Паскаля возможности ввода/вывода данных с помощью процедур Read, Re

Функция KeyPressed
Возвращает значение типа Boolean, указывающее состояние буфера клавиатуры: False означает, что буфер пуст, a True – �

Функция ReadKey
Возвращает значение типа Char. При обращении к этой функции анализируется буфер клавиатуры: если в нем есть х�


Текстовый вывод на экран
Используемое в ПК устройство визуального отображения информации – дисплей – состоит из двух основных час�

Процедура TextMode
Используется для задания одного из возможных текстовых режимов работы адаптера. Заголовок процедуры:

Процедура TextBackground
Определяет цвет фона. Заголовок: Procedure TextBackground(Color: Byte); Единственным параметром обращения к этим п�

Процедура ClrScr
Очищает экран или окно (см. ниже процедуру Window). После обращения к ней экран (окно) заполняется цветом фона и �

Процедура Window
Определяет текстовое окно – область экрана, которая в дальнейшем будет рассматриваться процедурами вывод�

Функции WhereX и WhereY
С помощью этих функций типа Byte можно определить текущие координаты курсора: WhereX возвращает его горизонталь

Процедура AssignCRT
Связывает текстовую файловую переменную F с экраном с помощью непосредственного обращения к видеопамяти (т

Процедура Delay
Обеспечивает задержку работы программы на заданный интервал времени. Заголовок процедуры: Procedure Delay(T: W

Краткая характеристика графических режимов работы дисплейных адаптеров
Настройка графических процедур на работу с конкретным адаптером достигается за счет подключения нужного г

Процедура InitGraph
Инициирует графический режим работы адаптера. Заголовок процедуры: Procedure InitGraph(var Driver,Mode: Integer; Path: String);

Функция GraphResult
Возвращает значение типа Integer, в котором закодирован результат последнего обращения к графическим процеду�

Функция GraphErrorMsg
Возвращает значение типа String, в котором по указанному коду ошибки дается соответствующее текстовое сообще�

Процедура SetGraphMode
Устанавливает новый графический режим работы адаптера. Заголовок: Procedure SetGraphMode(Mode: Integer); Здесь Mode �

Функция GetModeName
Возвращает значение типа String, содержащее разрешение экрана и имя режима работы адаптера по его номеру. Заго

Процедура GetModeRange
Возвращает диапазон возможных режимов работы заданного графического адаптера. Заголовок: Procedure GetModeRang

Процедура SetViewPort
Устанавливает прямоугольное окно на графическом экране. Заголовок: Procedure SetViewPort(XI,Y1,X2,Y2: Integer; ClipOn: Boolean);

Процедура ClearViewPort
Очищает графическое окно, а если окно не определено к этому моменту — весь экран. При очистке окно заполняет�

Процедура SetAspectRatio
Устанавливает масштабный коэффициент отношения сторон графического экрана. Заголовок: Procedure SetAspectRatio(X

Процедура SetActivePage
Делает активной указанную страницу видеопамяти. Заголовок: Procedure SetActivePage(PageNum: Word); Здесь PageNum – ном

Процедура SetVisualPage
Делает видимой страницу с указанным номером. Обращение: Procedure SetVisualPAge(PageNum: Word); Здесь PageNum – номер с

Процедура PutPixel
Выводит заданным цветом точку по указанным координатам. Заголовок: Procedure PutPixel(X,Y: Integer; Color: Word); Здес

Процедура Line
Вычерчивает линию с указанными координатами начала и конца. Заголовок: Procedure Line(X1,Y1,X2,Y2: Integer); Здесь

Процедура SetLineStyle
Устанавливает новый стиль вычерчиваемых линий. Заголовок: Procedure SetLineStyle(Type,Pattern,Thick: Word) Здесь Type, Patte

Процедура SetWriteMode
Устанавливает способ взаимодействия вновь выводимых линий с уже существующим на экране изображением. Заго

Процедура Rectangle
Вычерчивает прямоугольник с указанными координатами углов. Заголовок: Procedure Rectangle(X1,Y1,X2,Y2: Integer); Зд�

Процедура DrawPoly
Вычерчивает произвольную ломаную линию, заданную координатами точек излома. Procedure DrawPoly(N: Word; var Points)

Процедура Circle
Вычерчивает окружность. Заголовок: Procedure Circle(X,Y: Integer; R: Word); ЗдесьX, Y– координаты центра; R – радиус �

Процедура Arc
Чертит дугу окружности. Заголовок: Procedure Arc(X,Y: Integer; BegA,EndA,R: Word); Здесь X, Y – координаты центра; BegA, EndA �

Процедура GetArcCoords
Возвращает координаты трех точек: центра, начала и конца дуги. Заголовок: Procedure GetArcCoords(var Coords: ArcCoordsType);

Процедура Ellipse
Вычерчивает эллипсную дугу. Заголовок: Procedure Ellipse(X,Y: Integer; BegA,EndA,RX,RY: Word); Здесь X, Y – координаты центр

Процедура SetBkColor
Устанавливает цвет фона. Заголовок: Procedure SetBkColor(Color: Word); Здесь Color – цвет фона. В отличие от тек

Процедура SetPalette
Заменяет один из цветов палитры на новый цвет. Заголовок: Procedure SetPalette(N: Word; Color: Shortlnt); Здесь N – номе�

Процедура GetPalette
Возвращает размер и цвета текущей палитры. Заголовок: Procedure GetPalette(var Palettelnfo: PaletteType); Здесь Palettelnfo – �

Процедура SetAllPalette
Изменяет одновременно несколько цветов палитры. Заголовок процедуры: Procedure SetAllPalette(var Palette); Параме

Процедура SetFillStyle
Устанавливает стиль (тип и цвет) заполнения. Заголовок: Procedure SetFillStyle(Fill,Color: Word); Здесь Fill – тип запо�

Процедура SetFillPattern
Устанавливает образец рисунка и цвет штриховки. Заголовок: Procedure SetFillPattern(Pattern: FillPatternType;Color: Word); Зде

Процедура GetFillSettings
Возвращает текущий стиль заполнения. Заголовок: Procedure GetFillSettings(var Pattlnfo: FillSettingsType); Здесь Pattlnfo – пер�

Процедура SetRGBPalette
Устанавливает цветовую гамму при работе с дисплеем IBM 8514 и адаптером VGA. Заголовок: Procedure SetRGBPalette(ColNum,

Процедура FloodFill
Заполняет произвольную замкнутую фигуру, используя текущий стиль заполнения (узор и цвет). Заголовок: P

Процедура Bar
Заполняет прямоугольную область экрана. Заголовок: Procedure Bar(X1,Y1,X2,Y2: Integer); Здесь XJ. Y2 – координаты л�

Процедура Ваr3D
Вычерчивает трехмерное изображение параллелепипеда и закрашивает его переднюю грань . Заголовок: Procedu

Процедура FillPoly
Обводит линией и закрашивает замкнутый многоугольник. Заголовок: Procedure FillPoly(N: Word; var Coords); Здесь N –

Процедура Sector
Вычерчивает и заполняет эллипсный сектор. Заголовок: Procedure Sector(X,Y: Integer; BegA,EndA,RX,RY: Word); Здесь BegA, EndA – соот�

Процедура PieSlice
Вычерчивает и заполняет сектор окружности. Заголовок: Procedure PieSlice(X,Y: Integer; BegA,EndA,R: Word); В отличие от п�

Процедура PutImage
Выводит в заданное место экрана копию фрагмента изображения, ранее помещенную в память процедурой Getlmage. За�

Вывод текста
Описываемые ниже стандартные процедуры и функции поддерживают вывод текстовых сообщений в графическом ре�

Процедура OutText
Выводит текстовую строку, начиная с текущего положения указателя. Заголовок: Procedure OutText(Txt: String); Зд�

Процедура SetTextStyle
Устанавливает стиль текстового вывода на графический экран. Заголовок: Procedure SetTextStyle(Font,Direct,Size: Word);

Процедура SetTextJustify
Задает выравнивание выводимого текста по отношению к текущему положению указателя или к заданным координа

Процедура SetUserCharSize
Изменяет размер выводимых символов в соответствии с заданными пропорциями. Заголовок: Procedure SetUserCharSize(XI

Процедура GetTextSettings
Возвращает текущий стиль и выравнивание текста. Заголовок: Procedure GetTextSettins(var Textlnfo: TextSettingsType); Здесь T

Функция InstallUserFont
Позволяет программе использовать нестандартный векторный шрифт. Заголовок функции: Function InstallUserFont(FileNam

Функция InstallUserDriver
Включает нестандартный графический драйвер в систему BGI-драйверов. Заголовок функции: Function InstallUserDriver(Fi

Включение драйвера и шрифтов в тело программы
В Турбо Паскале имеется возможность включения графического драйвера и штриховых шрифтов непосредственно �

Глоссарий
Видеоадаптер (или видеокарта) – это специальное устройство, позволяющее выводить изобра�

Отчет по учебной практике
«Технологии программирования» Выполнил(а) студент(ка) группы _____

ПРАВИЛА ВЫПОЛНЕНИЯ СХЕМ
1.1. При выполнении схем алгоритмов и программ отдельные функции алгоритмов и программ, с учетом степени их д

ПРАВИЛА ПРИМЕНЕНИЯ СИМВОЛОВ
2.1. Применения символов должно соответствовать указанному в таблице.

ГОСУДАРСТВЕННЫЙ СТАНДАРТ СОЮЗА ССР
Единая система программной документации ГОСТ 19.003-80 Взамен ГОСТ 19428-74

ПЕРЕЧЕНЬ, НАИМЕНОВАНИЕ, ОБОЗНАЧЕНИЕ СИМВОЛОВ И ОТОБРАЖАЕМЫЕ ИМИ ФУНКЦИИ
1.1. Перечень, наименование, обозначение и размеры обязательных символов и отображаемые ими функции в алгори

СООТНОШЕНИЕ ГЕОМЕТРИЧЕСКИХ ЭЛЕМЕНТОВ СИМВОЛОВ
2.1. Размер a должен выбираться из ряда 10, 15, 20 мм. Допускается увеличивать размер a на число, кратное 5. Размер b �

Параметры и атрибуты графического вывода

Если инициализация системы графики выполнена успешно, становятся доступными функции графической библиотеки для построения основных графических примитивов — отрезков прямых линий, дуг, окружностей, эллипсов, прямо­угольников, секторных и столбцовых диаграмм и т.д. Многие из этих фигур могут быть по желанию программиста «залиты» текущим цветом с использованием текущего шаблона или маски заполнения. Специальные функции позволяют запоминать прямоугольные области экрана и затем восстанавливать их в специфицированном месте экрана.

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

При выводе отрезков прямых линий и графических примитивов система графики позволяет определить такой параметр, как стиль линии. С++ поддерживает ряд предопределенных стилей линий. Как и в случае маски заполнения, пользователь может описать собственный стиль линии. Для определения текущей установки стиля используется функция getlinesettings(). Выбор подходящего стиля выполняет фун­кция setlinestyle().

void getlinesettings (struct linesettingstype *lineinfo)

Возвращает информацию об установленном в текущий момент времени стиле «рисования» отрезков прямых линий и графических примитивов. Функция заполняет поля структурной переменной по шаблону struct linesettingstype. Структурную переменную описывает точка вызова и передает в функцию указатель lineinfo на эту переменную. Шаблон struct linesettingstype описан в заголовочном файле следующим образом:

int linestyle; /*идентифицирует стиль линии*/

unsigned upattern; /*задает определенный пользователем стиль линии. Имеет значение только тогда, когда linestyle = USERBIT_LINE*/

int thickness; /*задает толщину линии*/

Стиль линии задается либо целым числом, либо символи­ческой константой по табл. 3.5.

Табл. 3.5. Задание стиля линий

Символическая константа Значение Описание стиля линии
SOLID_LINE DOTTED_LINE CENTER_LINE DASHED_LINE USERBIT_LINE Сплошная (непрерывная) линия Линия из точек . Штрих-пунктирная линия -.-. Штриховая линия Определенная пользователем линия. Ее шаблон описывает поле upattern в структуре linesettingstype

Толщина линий может быть равна 1 или 3 пикселам. Она задается либо целым числом, либо символической константой из табл. 3.6.

Табл. 3.6. Задание толщины линий в Turbo С

Символическая константа Значение Толщина
NORM_WIDTH THICK_WIDTH Задает толщину линии 1 пиксел Задает толщину линии 3 пиксела

После инициализации системы графики для стиля линии устанавливается непрерывная линия толщиной 1 пиксел. Задание стиля линии выполняет функция setlinestyle().

void setlinestyle (int linestyle, unsigned upattern, int thickness)

Устанавливает стиль «рисования» отрезков прямых линий и графических примитивов. Аргумент linestyle выбирает стиль линии в соответствии с табл. 3.5., а аргумент thickness — толщину линии по табл. 3.6.

Аргумент upattern используется только в том случае, когда задается отличный от предопределенных стиль линии, т.е. если linestyle равен USERBIT_LINE (4). При этом 16 бит аргумента upattern задают маску линии (светимость 16 подряд расположенных пикселов линии). Если бит в upattern равен 1, пиксел выводится на экран текущим цветом, установленным функцией setcolor(). Определенный пользователем стиль линии действует только в случае, когда устанавливается толщина линии 1 пиксел (NORM_WIDTH). Для толщины 3 пиксела определенный пользователем стиль линии не действует.

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

void setwritemode(int mode)

Устанавливает режим вывода отрезков прямых линий в значение, определяемое аргументом mode. Аргумент mode может принимать одно из двух значений, описанных в : COPY_PUT (0) — пикселы, лежащие на отрезке прямой линии, переопределяют пикселы на экране, и, таким образом, линия на экране имеет текущий цвет; XOR_PUT (1) — пикселы, образующие линию, имеют код цвета, образуемый операцией исключающего ИЛИ (XOR) кода текущего цвета и кода цвета пикселов на экране, через которые линия проходит. В частности, можно стереть выведенную линию с экрана, выполнив вывод линии еще раз.

Следующий параметр системы графики — так называемый коэффициент сжатия, или коэффициент пропорциональности (aspect ratio). Он задает форму пиксела на экране монитора. Для многих мониторов световое пятно, которое соответствует пикселу, не является строго квадратным, а напоминает по форме эллипс, вытянутый вверх. Как следствие этого, линия, состоящая из одного и того же числа пикселов, расположенная вертикально, выглядит на экране длиннее, чем линия из того же числа пикселов, расположенная горизонтально. По этой же причине вывод прямоугольника, имеющего равные (в пикселах) горизонтальную и вертикальную стороны, не приводит к получению на экране квадрата. Система графики учитывает коэффициент сжатия при выводе сложных графических примитивов — эллипсов, окружностей, дуг, круговых секторов. Благодаря этому они появляются на экране геометрически корректными. По умолчанию после инициализации системы графики автоматически устанавливает коэффициент сжатия в соответствии с характеристиками аппаратуры видеосистемы. Для управления коэффициентом сжатия в предусмотрены две функции: getaspectratio() и setaspectratio().

void getaspectratio (int *xasp, int *yasp)

Заполняет две переменные, описанные точкой вызова, значениями коэф­фициента сжатия для текущего видеорежима. Возвращаемые значения задают фактически физическую форму пиксела. Для размера пиксела по вертикали (значение, на которое указывает yasp), всегда возвращается 10 000. Если световое пятно на экране, соответствующее пикселу, является квадратным (как для адаптера VGA), то и значение «ширины» пиксела равно 10 000. Для других видеоадаптеров пиксел на экране имеет эллипсообразную форму с большой полуосью, сориентированной по вертикали. Для таких адаптеров в ячейке, на которую указывает xasp, возвращается значение, меньшее 10 000. Зная значения геометрических размеров пиксела, можно так скорректировать параметры для функций вывода, чтобы получить на экране геометрически пропорцио­нальные фигуры, например квадраты. Отметим, что не следует корректировать коэффициент сжатия для вывода окружностей, дуг или секторных диаграмм. Система графики делает корректировку автоматически.

void setaspectratio (int xasp, int yasp)

Устанавливает новое значение коэффициента сжатия, которое будет ис­пользоваться системой графики при выводе геометрических примитивов — прямоугольников, дуг, окружностей, эллипсов. Аргумент xasp отображает в условных единицах ширину пиксела на экране, yasp — высоту пиксела. Например, если известно, что высота пиксела на экране в 1.2 раза больше, чем его ширина, геометрически корректный вывод будет получен при задании такого коэффициента сжатия:

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

Последние из параметров графической системы, влияющие на вывод графической информации, это маска заполнения и стиль заполнения. Маска заполнения позволяет задать способ заполнения отдельных областей экрана. Она определяется восьмибайтовым шаблоном, рассматриваемым как битовая карта 8×8. Заполняемая область также разбивается на блоки (знакоместа) по 8×8 пикселов. Маска «накладывается» на каждое такое знакоместо по следующему правилу: если соответствующий бит в маске заполнения равен 1, то пиксел в знакоместе имеет код текущего цвета; в противном случае пиксел остается неизменным. Для работы с масками заполнения система графики содержит функции getfillpattern() и setfillpattern().

void getfillpattern (char * pattern)

Заполняет область памяти из 8 байт, описанную точкой вызова, текущим значением маски заполнения. Аргумент pattern указывает на начало описанной области памяти. Маска заполнения может иметь одно из предопределенных значений или описываться пользователем.

void setfillpattern (char *upattern, int color)

Задает цвет пикселов и маску для заполнения областей экрана. По умолчанию используется белый цвет и маска заполнения, состоящая из матрицы единиц во всех битах. Таким образом, по умолчанию все пикселы заполняемой области имеют белый цвет. Аргумент upattern указывает на начало области из 8 байт, задающих новую маску заполнения. Первый байт задает пикселы самой верхней строки в пределах знакоместа. Старший бит первого байта соответствует самому левому пикселу знакоместа. Аргумент color задает цвет пикселов.

Для удобства пользователей библиотека графики содержит целую группу предопределенных комбинаций символ/цвет заполнения областей экрана. Пару значений символов/цветов часто называют стилем заполнения (filling style). Для работы с предопределенными стилями используется пара функций getfillsettings() и setfillstyle().

void getfillsettings( struct fillsettingstype *fillinfo)

Заполняет поля структурной переменной по шаблону struct fillsettingstype информацией о текущей маске и цвете заполнения. Структурную переменную по шаблону struct fillsettingstype описывает точка вызова. Аргумент fillinfo указывает на описанную точкой вызова структурную переменную. Шаблон struct fillsettingstype определен в так:

int pattern; /* идентификатор маски заполнения */

int color; /* цвет заполнения */

Идентификатором предопределенных масок заполнения служит или целое число или символическая константа (табл. 3.7.).

В случае, когда используется определенная пользователем маска заполнения, поле pattern в структурной переменной, заполняемой функцией getfillsettings(), равно 12.

Табл. 3.7. Задание предопределенных масок

Символическая константа Значе­ние Описание стиля заполнения
EMPTY FILL Заполнение цветом фона
SOLID FILL Заполнение текущим цветом
LINE FILL Заполнение символами —, цвет — color
LTSLASH_FILL Заполнение символами // нормальной толщины, цвет — color
SLASH_FILL Заполнение символами // удвоенной толщины, цвет — color
BKSLASH_FILL Заполнение символами \\ удвоенной толщины, цвет — color
LTBKSLASH_FILL Заполнение символами \\ нормальной толщины, цвет — color
HATCH_FILL Заполнение вертикально-горизонтальной штриховкой тонкими линиями, цвет-color
XHATCH_FILL Заполнение штриховкой крест-накрест по диагонали «редкими» тонкими линиями, цвет — color
INTERLEAVE_FILL Заполнение штриховкой крест-накрест по диагонали «частыми» тонкими линиями, цвет — color
WIDE DOT FILL Заполнение «редкими» точками
CLOSE DOT FILL Заполнение «частыми» точками
USER FILL Заполнение по определенной пользователем маске заполнения, цвет — color

void setfillstyle(int pattern, int color)

Выбирает один из предопределенных стилей заполнения. Значение pattern идентифицирует стиль. Возможные значения для pattern приведены в табл. 3.7. Аргумент color задает цвет, используемый для пикселов по заданному шаблону. Данная функция не предназначена для установки определенной пользователем маски заполнения. Для этого используется функция setfillpattern().

Последнее изменение этой страницы: 2020-06-06; Нарушение авторского права страницы

22 Процедуры и функции вTurbo Pascal`е Pascal’s для работы с экраном в графическом режиме.

Многие графические процедуры и функции используют указатель текущей позиции на экране, который в отличие от текстового курсора невидим. Положение этого указателя, как и вообще любая координата на графическом экране, задается относительно левого верхнего угла, который, в свою очередь, имеет координаты 0,0. Таким образом, горизонтальная координата экрана увеличивается слева направо, а вертикальная — сверху вниз.

Возвращают значения типа Word, содержащие максимальные координаты экрана в текущем режиме работы соответственно по горизонтали и вертикали.Например:

a := Detect; InitGraph(a, b, »);


Возвращают значения типа Integer, содержащие текущие координаты указателя соответственно по горизонтали и вертикали. Координаты определяются относительно левого верхнего угла окна или, если окно не установлено, экрана.

Устанавливает прямоугольное окно на графическом экране. Заголовок:

Procedure SetViewPort(XI,Y1,X2,Y2: Integer; ClipOn: Boolean);

Здесь X1. Y2 — координаты левого верхнего (XI,Y1) и правого нижнего (X2,Y2) углов окна; СНрОп — выражение типаBoolean, определяющее «отсечку» не умещающихся в окне элементов изображения.

Координаты окна всегда задаются относительно левого верхнего угла экрана. Если параметр ClipOnимеет значениеTrue, элементы изображения, не умещающиеся в пределах окна, отсекаются, в противном случае границы окна игнорируются. Для управления этим параметром можно использовать такие определенные в модуле константы:

Возвращает координаты и признак отсечки текущего графического окна. Заголовок:

Здесь Viewlnfo- переменная типаViewPortType. Этот тип в модулеGraphопределен следующим образом:

Устанавливает новое текущее положение указателя. Заголовок:

Procedure MoveTo(X,Y: integer);

Здесь X,Y- новые координаты указателя соответственно по горизонтали и вертикали.

Координаты определяются относительно левого верхнего угла окна или, если окно не установлено, экрана.

Устанавливает новое положение указателя в относительных координатах.

Procedure MoveRel(DX,DY: Integer);

Здесь DX.DY- приращения новых координат указателя соответственно по горизонтали и вертикали.

Приращения задаются относительно того положения, которое занимал указатель к моменту обращения к процедуре.

Очищает графический экран. После обращения к процедуре указатель устанавливается в левый верхний угол экрана, а сам экран заполняется цветом фона, заданным процедурой SetBkColor. Заголовок:

Очищает графическое окно, а если окно не определено к этому моменту — весь экран. При очистке окно заполняется цветом с номером О из текущей палитры. Указатель перемещается в левый верхний угол окна. Заголовок:

Возвращает два числа, позволяющие оценить соотношение сторон экрана. Заголовок:

Procedure GetAspectRatio(var X,Y: Word);

Здесь X,Y- переменные типаWord. Значения, возвращаемые в этих переменных, позволяют вычислить отношение сторон графического экрана в пикселях. Найденный с их помощью коэффициент может использоваться при построении правильных геометрических фигур, таких как окружности, квадраты и т.п. Например, если Вы хотите построить квадрат со сторонойLпикселей по вертикали, Вы должны использовать операторы

GetAspectRatio (Xasp, Yasp);

Rectangle(x1, y1, x1+L*round (Yasp/Xasp), y1+L);

а если Lопределяет длину квадрата по горизонтали, то используется оператор

Устанавливает масштабный коэффициент отношения сторон графического экрана. Заголовок:

Здесь X,Y- устанавливаемые соотношения сторон.

Делает активной указанную страницу видеопамяти. Заголовок:

Procedure SetActivePage(PageNum: Word);

Здесь PageNum- номер страницы.

Процедура может использоваться только с адаптерами, поддерживающими многостраничную работу (EGA, VGA и т.п.). Фактически процедура просто переадресует графический вывод в другую область видеопамяти, однако вывод текстов с помощью Write/WriteLn всегда осуществляется только на страницу, которая является видимой в данный момент (активная страница может быть невидимой). Нумерация страниц начинается с нуля.

Делает видимой страницу с указанным номером. Обращение:

Здесь PageNum- номер страницы.

Процедура может использоваться только с адаптерами, поддерживающими многостраничную работу (EGA, VGA и т.п.). Нумерация страниц начинается с нуля.

Процедура GetAspectRatio

Процедура GetAspectRatio — раздел Информатика, Технологии программирования

Возвращает два числа, позволяющие оценить соотношение сторон экрана. Заголовок:

Procedure GetAspectRatio(var X,Y: Word);

Здесь X, Y – переменные типа Word. Значения, возвращаемые в этих переменных, позволяют вычислить отношение сторон графического экрана в пикселях. Найденный с их помощью коэффициент может использоваться при построении правильных геометрических фигур, таких, как окружности, квадраты и т.п. Например, если вы хотите построить квадрат со стороной L пикселей по вертикали, вы должны использовать операторы

GetAspectRatio (Xasp, Yasp);

Rectangle(x1, y1, x1+L*round (Yasp/Xasp), y1+L);

а если L определяет длину квадрата по горизонтали, то используется оператор

Эта тема принадлежит разделу:

Технологии программирования

Красноярский государственный аграрный университет.

Если Вам нужно дополнительный материал на эту тему, или Вы не нашли то, что искали, рекомендуем воспользоваться поиском по нашей базе работ: Процедура GetAspectRatio

Все темы данного раздела:

Учебно-методическое пособие к учебной практике
для студентов специальности (направления) 010502.65 – «Прикладная информатика (в экономике)», 080700.62 – «Бизн

Цель и задачи практики
Учебная практика по технологиям программирования является а) логическим продолжением дисцип

Организация проведения практики
Учебная практика по технологиям программирования проводится после сдачи летней сессии первого ку

Основные требования к оформлению отчета
Отчет оформляется на листах белой бумаги формата А4 (210х297 мм) с одной стороны. Шрифт: Times New Roman 14 – 16 (�

Структура модулей
Модуль имеет следующую структуру: UNIT ; INTERFACE IMPLEMENTATION

Заголовок модуля и связь модулей друг с другом
Заголовок модуля состоит из зарезервированного слова UNIT и следующего за ним имени модуля. Для правильной р�

Компиляция модулей
В среде Турбо Паскаля имеются средства, управляющие способом компиляции модулей и облегчающие разработку �

Доступ к объявленным в модуле объектам
Пусть, например, мы создаем модуль, реализующий арифметику комплексных чисел (такая арифметика ни в стандар

Стандартные модули
В Турбо Паскале имеется восемь стандартных модулей, в которых содержится большое число разнообразных типо�

Использование библиотеки CRT
Во многих случаях стандартные для Паскаля возможности ввода/вывода данных с помощью процедур Read, Re

Функция KeyPressed
Возвращает значение типа Boolean, указывающее состояние буфера клавиатуры: False означает, что буфер пуст, a True – �

Функция ReadKey
Возвращает значение типа Char. При обращении к этой функции анализируется буфер клавиатуры: если в нем есть х�

Текстовый вывод на экран
Используемое в ПК устройство визуального отображения информации – дисплей – состоит из двух основных час�

Процедура TextMode
Используется для задания одного из возможных текстовых режимов работы адаптера. Заголовок процедуры:

Процедура TextBackground
Определяет цвет фона. Заголовок: Procedure TextBackground(Color: Byte); Единственным параметром обращения к этим п�

Процедура ClrScr
Очищает экран или окно (см. ниже процедуру Window). После обращения к ней экран (окно) заполняется цветом фона и �

Процедура Window
Определяет текстовое окно – область экрана, которая в дальнейшем будет рассматриваться процедурами вывод�

Функции WhereX и WhereY
С помощью этих функций типа Byte можно определить текущие координаты курсора: WhereX возвращает его горизонталь

Процедура AssignCRT
Связывает текстовую файловую переменную F с экраном с помощью непосредственного обращения к видеопамяти (т

Процедура Delay
Обеспечивает задержку работы программы на заданный интервал времени. Заголовок процедуры: Procedure Delay(T: W

Краткая характеристика графических режимов работы дисплейных адаптеров
Настройка графических процедур на работу с конкретным адаптером достигается за счет подключения нужного г

Процедура InitGraph
Инициирует графический режим работы адаптера. Заголовок процедуры: Procedure InitGraph(var Driver,Mode: Integer; Path: String);

Функция GraphResult
Возвращает значение типа Integer, в котором закодирован результат последнего обращения к графическим процеду�

Функция GraphErrorMsg
Возвращает значение типа String, в котором по указанному коду ошибки дается соответствующее текстовое сообще�

Процедура SetGraphMode
Устанавливает новый графический режим работы адаптера. Заголовок: Procedure SetGraphMode(Mode: Integer); Здесь Mode �

Функция GetModeName
Возвращает значение типа String, содержащее разрешение экрана и имя режима работы адаптера по его номеру. Заго

Процедура GetModeRange
Возвращает диапазон возможных режимов работы заданного графического адаптера. Заголовок: Procedure GetModeRang

Процедура SetViewPort
Устанавливает прямоугольное окно на графическом экране. Заголовок: Procedure SetViewPort(XI,Y1,X2,Y2: Integer; ClipOn: Boolean);

Процедура ClearViewPort
Очищает графическое окно, а если окно не определено к этому моменту — весь экран. При очистке окно заполняет�

Процедура SetAspectRatio
Устанавливает масштабный коэффициент отношения сторон графического экрана. Заголовок: Procedure SetAspectRatio(X

Процедура SetActivePage
Делает активной указанную страницу видеопамяти. Заголовок: Procedure SetActivePage(PageNum: Word); Здесь PageNum – ном

Процедура SetVisualPage
Делает видимой страницу с указанным номером. Обращение: Procedure SetVisualPAge(PageNum: Word); Здесь PageNum – номер с

Процедура PutPixel
Выводит заданным цветом точку по указанным координатам. Заголовок: Procedure PutPixel(X,Y: Integer; Color: Word); Здес

Процедура Line
Вычерчивает линию с указанными координатами начала и конца. Заголовок: Procedure Line(X1,Y1,X2,Y2: Integer); Здесь

Процедура SetLineStyle
Устанавливает новый стиль вычерчиваемых линий. Заголовок: Procedure SetLineStyle(Type,Pattern,Thick: Word) Здесь Type, Patte

Процедура SetWriteMode
Устанавливает способ взаимодействия вновь выводимых линий с уже существующим на экране изображением. Заго

Процедура Rectangle
Вычерчивает прямоугольник с указанными координатами углов. Заголовок: Procedure Rectangle(X1,Y1,X2,Y2: Integer); Зд�

Процедура DrawPoly
Вычерчивает произвольную ломаную линию, заданную координатами точек излома. Procedure DrawPoly(N: Word; var Points)

Процедура Circle
Вычерчивает окружность. Заголовок: Procedure Circle(X,Y: Integer; R: Word); ЗдесьX, Y– координаты центра; R – радиус �

Процедура Arc
Чертит дугу окружности. Заголовок: Procedure Arc(X,Y: Integer; BegA,EndA,R: Word); Здесь X, Y – координаты центра; BegA, EndA �

Процедура GetArcCoords
Возвращает координаты трех точек: центра, начала и конца дуги. Заголовок: Procedure GetArcCoords(var Coords: ArcCoordsType);

Процедура Ellipse
Вычерчивает эллипсную дугу. Заголовок: Procedure Ellipse(X,Y: Integer; BegA,EndA,RX,RY: Word); Здесь X, Y – координаты центр

Процедура SetBkColor
Устанавливает цвет фона. Заголовок: Procedure SetBkColor(Color: Word); Здесь Color – цвет фона. В отличие от тек

Процедура SetPalette
Заменяет один из цветов палитры на новый цвет. Заголовок: Procedure SetPalette(N: Word; Color: Shortlnt); Здесь N – номе�

Процедура GetPalette
Возвращает размер и цвета текущей палитры. Заголовок: Procedure GetPalette(var Palettelnfo: PaletteType); Здесь Palettelnfo – �

Процедура SetAllPalette
Изменяет одновременно несколько цветов палитры. Заголовок процедуры: Procedure SetAllPalette(var Palette); Параме

Процедура SetFillStyle
Устанавливает стиль (тип и цвет) заполнения. Заголовок: Procedure SetFillStyle(Fill,Color: Word); Здесь Fill – тип запо�

Процедура SetFillPattern
Устанавливает образец рисунка и цвет штриховки. Заголовок: Procedure SetFillPattern(Pattern: FillPatternType;Color: Word); Зде

Процедура GetFillSettings
Возвращает текущий стиль заполнения. Заголовок: Procedure GetFillSettings(var Pattlnfo: FillSettingsType); Здесь Pattlnfo – пер�

Процедура SetRGBPalette
Устанавливает цветовую гамму при работе с дисплеем IBM 8514 и адаптером VGA. Заголовок: Procedure SetRGBPalette(ColNum,

Процедура FloodFill
Заполняет произвольную замкнутую фигуру, используя текущий стиль заполнения (узор и цвет). Заголовок: P

Процедура Bar
Заполняет прямоугольную область экрана. Заголовок: Procedure Bar(X1,Y1,X2,Y2: Integer); Здесь XJ. Y2 – координаты л�

Процедура Ваr3D
Вычерчивает трехмерное изображение параллелепипеда и закрашивает его переднюю грань . Заголовок: Procedu

Процедура FillPoly
Обводит линией и закрашивает замкнутый многоугольник. Заголовок: Procedure FillPoly(N: Word; var Coords); Здесь N –

Процедура Sector
Вычерчивает и заполняет эллипсный сектор. Заголовок: Procedure Sector(X,Y: Integer; BegA,EndA,RX,RY: Word); Здесь BegA, EndA – соот�

Процедура PieSlice
Вычерчивает и заполняет сектор окружности. Заголовок: Procedure PieSlice(X,Y: Integer; BegA,EndA,R: Word); В отличие от п�

Процедура PutImage
Выводит в заданное место экрана копию фрагмента изображения, ранее помещенную в память процедурой Getlmage. За�

Вывод текста
Описываемые ниже стандартные процедуры и функции поддерживают вывод текстовых сообщений в графическом ре�

Процедура OutText
Выводит текстовую строку, начиная с текущего положения указателя. Заголовок: Procedure OutText(Txt: String); Зд�

Процедура SetTextStyle
Устанавливает стиль текстового вывода на графический экран. Заголовок: Procedure SetTextStyle(Font,Direct,Size: Word);

Процедура SetTextJustify
Задает выравнивание выводимого текста по отношению к текущему положению указателя или к заданным координа

Процедура SetUserCharSize
Изменяет размер выводимых символов в соответствии с заданными пропорциями. Заголовок: Procedure SetUserCharSize(XI

Процедура GetTextSettings
Возвращает текущий стиль и выравнивание текста. Заголовок: Procedure GetTextSettins(var Textlnfo: TextSettingsType); Здесь T

Функция InstallUserFont
Позволяет программе использовать нестандартный векторный шрифт. Заголовок функции: Function InstallUserFont(FileNam

Функция InstallUserDriver
Включает нестандартный графический драйвер в систему BGI-драйверов. Заголовок функции: Function InstallUserDriver(Fi

Включение драйвера и шрифтов в тело программы
В Турбо Паскале имеется возможность включения графического драйвера и штриховых шрифтов непосредственно �

Глоссарий
Видеоадаптер (или видеокарта) – это специальное устройство, позволяющее выводить изобра�

Отчет по учебной практике
«Технологии программирования» Выполнил(а) студент(ка) группы _____

ПРАВИЛА ВЫПОЛНЕНИЯ СХЕМ
1.1. При выполнении схем алгоритмов и программ отдельные функции алгоритмов и программ, с учетом степени их д

ПРАВИЛА ПРИМЕНЕНИЯ СИМВОЛОВ
2.1. Применения символов должно соответствовать указанному в таблице.

ГОСУДАРСТВЕННЫЙ СТАНДАРТ СОЮЗА ССР
Единая система программной документации ГОСТ 19.003-80 Взамен ГОСТ 19428-74

ПЕРЕЧЕНЬ, НАИМЕНОВАНИЕ, ОБОЗНАЧЕНИЕ СИМВОЛОВ И ОТОБРАЖАЕМЫЕ ИМИ ФУНКЦИИ
1.1. Перечень, наименование, обозначение и размеры обязательных символов и отображаемые ими функции в алгори

СООТНОШЕНИЕ ГЕОМЕТРИЧЕСКИХ ЭЛЕМЕНТОВ СИМВОЛОВ
2.1. Размер a должен выбираться из ряда 10, 15, 20 мм. Допускается увеличивать размер a на число, кратное 5. Размер b �

Илон Маск рекомендует:  Как выбрать оперативную память Параметры оперативки
Понравилась статья? Поделиться с друзьями:
Кодинг, CSS и SQL