Как сделать шрифт в паскале больше

Добавил пользователь Алексей Ф.
Обновлено: 05.10.2024

OutText('текст'), где переменная 'текст' типа String - выводит текстовую строку, начиная с текущего положения указателя. При горизонтальном направлении вывода указатель смещается в конец выведенного текста, при вертикальном - не меняет своего положения. Строка выводится в соответствии с установленным стилем и выравниванием.

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

OutTextXY(X, Y, 'текст'), где переменные X, Y типа Integer , а 'текст' типа String - выводит строку 'текст', начиная с точки с координатами X, Y. Указатель не меняет своего положения.

Например, после применения процедуры OutTextXY(100, 50, 'Grafika in Turbo Pascal') на экране будет высвечена строка Grafika in Turbo Pascal, начиная с точки с координатами (100,50).

SetTextStyle(Font; Direct; Size), где переменные Font и Direct типа word, а Size типа Integer - устанавливает стиль текстового вывода на графический экран. Здесь переменная Font указывает на код (номер) шрифта, Direct - код направления, а Size - код размера шрифта.

Для указания кода шрифта можно использовать следующие константы:

Cреди этих шрифтов только DefaultFont (код 0) является матричным шрифтом, т.е. его символы создаются из матриц 8х8 пикселей. Все остальные шрифты - векторные, их элементы формируются как совокупность векторов определенного направления и размера.

Для задания направления выдачи текста используют следующие константы:

0 - слева направо
1 - снизу вверх

Размер выводимых символов задается параметром Size, который имеет диапазон от 1 до 10 (матричный шрифт от 1 до 32).

SetTextJustify (Horiz,Vert), где переменные Horiz и Vert типа word - задает выравнивание текста по отношению к текущему положению указателя или к заданным координатам. Здесь Horiz - горизонтальное выравнивание, а Vert - вертикальное выравнивание.

Выравнивание определяет как будет размещаться текст - левее или правее указанного места, выше, ниже или по центру.

Можно использовать следующие константы:

Для Horiz:
LeftText = 0 (указатель слева от текста);
CenterText = 1 (симметрично слева и справа);
RightText = 2 (указатель справа от текста);

Для Vert:
BottonText = 0 (указатель снизу от текста);
CenterText = 1 (симметрично снизу и сверху);
TopText = 2 (указатель сверху от текста);

Обратите внимание на неудачные имена констант. Если Вам надо расположить текст справа от заданных координат (процедура OutTextXY), то нужно задать константу LeftText, что в переводе с английского означает “Левый текст”.

SetUserCharSize (X1, X2, Y1, Y2), где переменные X1, X2, Y1, Y2 типа word - изменяет размер выводимых символов в соответствии с заданными пропорциями. Пропорции задают масштабный коэффициент, показывающий во сколько раз увеличится ширина и высота выводимых символов по отношению к стандартно заданным значениям. Коэффициент по горизонтали находится как отношение X1 к X2, по вертикали Y1, Y2. Например, чтобы удвоить ширину символов, необходимо задать Х1=2 и Х2=1. Стандартный размер символов устанавливается процедурой SetTextStyle, которая отменяет предшествующее ей обращение к SetUserCharSize.

GraphDefaults - cбрасывает заданные пользователем параметры графического режима и устанавливает исходные (определяемые по умолчанию при запуске процедуры InitGraph).

Задание. Дайте название своему рисунку, используя изученные процедуры.

Выберите с учителем задачи для решения из предложенного ниже списка:

    Построить и подписать вершины
    а) треугольника с вершинами (200,200), (250,200), (180,270);
    б) прямоугольника с вершинами (80,80), (170, 80), (170, 50), (80,150);

Оформление текста на экране в Паскаль

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

Возможно , когда-нибудь вы столкнетесь с такой задачей : как оформить текст в паскале.

В данной статье вы узнаете о том , как изменить цвет текста , как добавить цветной фон , как очистить экран и т.д.

Модуль crt

Для всех ниже приведенных функций требуется подключать дополнительный модуль crt. Подключать его нужно в блоке uses :

Если вы не подключите данный модуль , то функции по оформлению текста не будут работать.

После того , как вы его подключите , программа будет работать в новом окне размером 80x25. Представлять такое окно можно как таблица в 25 строк и 80 столбцов.

Рабочее окно программа в модуле crt

GotoXY

Когда мы выводим текст на экран , то курсор находится в координате 1,1 ( столбец-1 , строка-1 ). Но для того , чтобы изменить место положение выводимого текста , в паскале предусмотрена функция gotoxy.

Применение gotoxy

TextColor

Стандартно , в языке программирования паскаль текст выводится строго черным цветом , но его также можно изменить. Изменить цвет текста можно командой textcolor. Чтобы изменить цвет текста требуется использовать команду textcolor(red) , а в скобках указать цвет ( например red ). В скобках можно использовать название цвета , а также код цвета.

Но стоит помнить , что команда textcolor не меняет весь текст на экране ,а только тот , который выводится после этой команды.

Применение textcolor


Результат выполнения данной программы будет выглядеть примерно так :

Clrscr

Функция clrscr стирает весь текст , который был выведен на экран до использования данной функции. Также с помощью неё можно закрасить экран в определенный цвет. О том как это сделать читайте далее.

TextBackGround

Тексту также можно задавать цвет фона. Фон для текста задается командой textbackground. В скобках , в аналогии с textcolor можно указывать имя или код цвета.

Применение textbackground


Результат выполнения данной программы будет выглядеть так :

С помощью данной команды можно задать фон всему рабочему окну программы,
Сделать это можно так :

program mypascal;
uses crt;
begin
textbackground(green);
clrscr;
writeln('Hello');
writeln('Hello');
end.

Delay


С помощью команды delay можно остановить программу на определенное количество времени . Это время указывается в скобках в мкс.

Работа с графикой в PascalABC

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

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

С их помощью можно создавать разнообразные графические изображения и сопровождать их текстовыми надписями.

Подключение осуществляется в разделе описаний.
Формат подключения модуля GraphABC:Uses GraphABC;

Графический экран PascalABC (по умолчанию) содержит 640 точек по горизонтали и 400 точек по вертикали. Начало отсчета – левый верхний угол экрана. Ось x направлена вправо, а ось y –вниз. Координаты исчисляются в пикселях.

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

Управление графическим окном

Работа с графикой в PascalABC

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

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

С их помощью можно создавать разнообразные графические изображения и сопровождать их текстовыми надписями.

Подключение осуществляется в разделе описаний.
Формат подключения модуля GraphABC:Uses GraphABC;

Графический экран PascalABC (по умолчанию) содержит 640 точек по горизонтали и 400 точек по вертикали. Начало отсчета – левый верхний угол экрана. Ось x направлена вправо, а ось y –вниз. Координаты исчисляются в пикселях.

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

Процедуры рисования графических примитивов

Работа с графикой в PascalABC

Процедуры, используемые для работы с цветом

Работа с графикой в PascalABC

Процедуры для работы с текстом

Работа с графикой в PascalABC

Цвета в PascalABC

Работа с графикой в PascalABC

Пример графической программы, рисующей изображение дома:

Работа с графикой в PascalABC

Программа, рисующая фигурку:

Работа с графикой в PascalABC

Практическая работа за компьютером

Задание 1. Определите координаты и составьте программу, выводящую на экран рисунок дома и дерева.

Работа с графикой в PascalABC

Программа будет иметь вид:

Задание 2. Используя оператор цикла и введя переменную для пересчета координат по оси x, постройте “поселок”, состоящий из 5 домов. Внесите соответствующие дополнения и изменения в предыдущую программу.

Работа с графикой в PascalABC

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

В чем заключается вопрос: Как начать работать с графикой на языке Pascal. Основные процедуры(команды).

Сложность: средняя.

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

Для того чтобы рисовать в Паскале всякие графики, линии, круги и т.д., нужен определенный модуль uses graph, который подключается в самом начале программы:

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

Не надо сильно думать над этой строкой, она практически всегда одинакова. Но про неё расскажу. Как я и сказал это процедура используется для открытия графического режима. У неё 3 параметра:

1-й : Графический драйвер.
2-й : Режим работы этого драйвера.
3-й : Путь к файлу(графическому драйверу) EGAVGA . BGI

Графический драйвер Константа режима Растр Палитра Число страниц
Имя Значение Имя Значение
Detect 0 Выбор драйвера автоматически
CGA 1 CgaC0 0 320*200 C0 1
CgaC1 1 320*200 C1 1
CgaC2 2 320*200 C2 1
CgaC3 3 320*200 C3 1
CgaHi 4 640*200 2 цвета 1
MCGA 2 McgaC0 0 320*200 C0 1
McgaC1 1 320*200 C1 1
McgaC2 2 320*200 C2 1
McgaC3 3 320*200 C3 1
mcgaMed 4 640*200 2 цвета 1
McgaHi 5 640*480 2 цвета 1
EGA 3 EgaLo 0 640*200 16 цвет. 4
EgaHi 1 640*350 16 цвет. 2
VGA 9 VgaLo 0 640*200 16 цвет. 2
VgaMed 1 640*350 16 цвет. 2
VgaHi 2 640*480 16 цвет. 1

Файл EGAVGA . BGI лежит у вас папке с программой в папке bgi если его нет, то его можно скачать в интернете и закинуть в папку с программой. Пример:

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

Если напишете так, будет ошибка:

Ну а дальше осталось только рисовать. В принципе дальше можно не читать всё равно не запомните)). Дальнейший материал поможет вам в решение задач, которые мы вскоре разберем и будем обращаться сюда.

Основные процедуры(команды)

Установка цвета.

Имя константы Номер цвета Цвет
Black 0 Черный
Blue 1 Темно-синий
Green 2 Темно-зеленый
Cyan 3 Бирюзовый
Red 4 Красный
Magenta 5 Фиолетовый
Brown 6 Коричневый
LightGray 7 Светло-серый
DarkGray 8 Темно-серый
LightBlue 9 Синий
LightGreen 10 Светло — зеленый
LightCyan 11 Светло-бирюзовый
LightRed 12 Розовый
LightMagenta 13 Малиновый
Yellow 14 Желтый
White 15 Белый

Например цвет линий которые будут отображаться на экране можно задать так:

Установка цвета фона.

Чтобы установить цвет фона для всего экрана, используется процедура:

Если процедура установки цвета фона не вызвана, экран будет черным.

Установка указателя вывода.

Процедура MoveTo ( x, y: integer) перемещает указатель в точку с координатами x, y.

Процедура MoveRel ( dx, dy: integer) перемещает указатель на dx, dy пикселей относительно последнего положения.

Функции GetX и GetY возвращают координаты x, y указателя вывода.

Установка точки

Процедура PutPixel ( x, y: integer; color: word) устанавливает точку с координатами ( x, y) и закрашивает ее указанным цветом color.

Функция GetPixel ( x, y: integer): word возвращает значение цвета, в который окрашена точка с координатами ( x, y).

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

Процедура Line ( x1, y1, x2, y2: integer) вычерчивает линию между двумя точками экрана с координатами ( x1, y1) и ( x2, y2).

Процедура LineTo ( x, y: integer) вычерчивает линию от последнего положения указателя до точки с координатами ( x, y).

Окружность, эллипс, дуга, сектор

Процедура Circle ( x, y: integer; r: word) вычерчивает окружность радиуса r с центром в точке с координатами ( x, y).

Процедура Arc ( x, y, ugol_ begin, ugol_ end, r: integer) вычерчивает дугу окружности радиуса r с центром в точке с координатами ( x, y). Параметры ugol_ begin и ugol_ end задают угловые координаты начала и конца дуги. Отсчет углов ведется против часовой стрелки. Значения угловых координат задается в градусах.

Процедура Ellips ( x, y: integer; ugol_ begin, ugol_ end, rx, ry: word) вычерчивает эллипс или дугу эллипса с центром в точке с координатами ( x, y). Параметры ugol_ begin и ugol_ end задают угловые координаты начала и конца дуги. Параметры rx и ry определяют горизонтальный и вертикальный радиусы эллипса.

Процедура PieSlice ( x, y: integer; ugol_ begin, ugol_ end, r: word) вычерчивает сектор окружности радиуса r с центром в точке с координатами ( x, y ). Параметры ugol_ begin и ugol_ end задают угловые координаты начала и конца сектора.

Сектор может быть закрашен в соответствии со стилем, заданным процедурой SetFillStyle (о ней читайте ниже).

Процедура Sector ( x, y: integer; ugol_ begin, ugol_ end, rx, ry: word) вычерчивает сектор эллипса с центром в точке с координатами ( x, y) и горизонтальным радиусом rx, вертикальным — ry. Параметры ugol_ begin и ugol_ end задают угловые координаты начала и конца сектора.

Сектор может быть закрашен в соответствии со стилем, заданным процедурой SetFillStyle.

Прямоугольник, закрашенный прямоугольник, параллелепипед

Процедура Rectangle ( x1, y1, x2, y2: integer) вычерчивает контур прямоугольника. Параметры x1, y1 задают положение левого верхнего угла, x2, y2 – правого нижнего.

Процедура Bar ( x1, y1, x2, y2: integer) вычерчивает закрашенный прямоугольник. Параметры x1, y1 задают положение левого верхнего угла, x2, y2 – правого нижнего. Стиль и цвет заливки определяется процедурой SetFillStyle.

Процедура Bar3 D ( x1, y1, x2, y2: integer; глубина: word; граница: boolean) вычерчивает параллелепипед. Параметры x1, y1 задают положение левого верхнего угла, x2, y2 – правого нижнего угла ближней грани. Параметр глубина задает расстояние между передней и задней гранями в пикселях. Параметр граница определяет, нужно ли вычерчивать верхнюю границу задней грани параллелепипеда. Стиль и цвет заливки ближней грани определяется процедурой SetFillStyle.

Вывод текста в графическом режиме.

Процедура OutText ( text: string) выводит строку символов text от текущей позиции указателя вывода и перемещает указатель в точку, расположенную за последним выведенным символом.

Процедура OutTextXY ( x, y: integer; text: string) выводит строку символов text, начиная с точки с координатами ( x, y), при этом указатель своего положения не меняет, т.е. остается в точке ( x, y ).

Стиль вычерчиваемых линий, контуров

Процедура SetLineStyle ( type, pattern, thick: word) устанавливает стиль вычерчиваемых линий. Здесь type, pattern, thick – соответственно тип, образец и толщина линии.

Тип линии может быть задан с помощью одной из следующих констант:

  • SolidLn=0
  • DottedLn=1
  • CenterLn=2
  • DashedLn=3
  • UserBitLn=4

Параметр Pattern учитывается только для линий, вид которых определяется пользователем, т.е. если type=4. Во всех остальных случаях можно поставить любое значение типа word (но обязательно поставить, все-таки это параметр процедуры, значит должен быть).

Каким образом можно задать пользовательский тип линии? Под тип линии отводится переменная типа word, т.е. два байта. Эти два байта и определяют образец линии: каждый установленный в единицу бит этого слова соответствует светящейся точке, нулевой бит — несветящийся пиксель. Таким образом, задается отрезок линии длиной в 16 пикселей. Этот образец периодически повторяется по всей длине линии.

Параметр thick может принимать одно из двух значений:

Стиль и цвет заливки

Процедура SetFillStyle ( style, color: word) устанавливает стиль и цвет заливки (закрашивания) областей ( Bar, Bar3 D, Sector и др.). В качестве параметра style используют одну из констант:

  • EmptyFill=0
  • SolidFill=1
  • LineFill=2
  • LtSlashFill=3
  • SlashFill=4
  • BkSlashFill=5
  • LtBkSlashFill=6
  • HatchFill=7
  • XHatchFill=8
  • InterleaveFill=9
  • WideDotFill=10
  • CloseDotFill=11
  • UserFill=12

Стиль вывода текста

Процедура SetTextStyle ( font, orient, size: word) устанавливает шрифт font, ориентацию orient и размер size текста, выводимого на экран. Параметр font может принимать одну из констант:

  • DefaultFont=0
  • TriplexFont=1
  • SmallFont=2
  • SansSerifFont=3
  • GothicFont=4

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

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

Параметр orient задает ориентацию выводимого текста:

Каждый шрифт способен десятикратно изменять свои размеры. Размер шрифта задается параметром size, который может иметь значения от 1 до 10 (точечный или матричный шрифт – в диапазоне от 1 до 32).

Заполнение (закрашивание) произвольной замкнутой фигуры

Процедура FloodFill ( x, y: integer; border: word) заполняет произвольную замкнутую фигуру, используя текущий стиль и цвет заполнения. Координаты точки ( x, y ) указывают, начиная с какой точки будет производиться заливка. Если точка находится внутри замкнутой фигуры, то будет закрашена внутренняя область. Если фигура не замкнута, то заливка разольется по всему экрану. Параметр border указывает цвет граничной линии.

Очистка графического экрана

Процедура ClearDevise очищает графический экран, устанавливает указатель в левый верхний угол.

Сразу вы естественно это не поймёте, нужна практика и еще раз практика иначе не как. Удачи. Спасибо за внимание.

Читайте также: