понедельник, 1 апреля 2013 г.

Шрифт

1. Действия со шрифтом

TextOut(x,y,s) - выводит строку s в позицию (x,y) (точка (x,y) задает верхний левый угол прямоугольника, который будет содержать текст из строки s);
SetFontColor(color) - цвет шрифта;
SetFontSize(sz) - размер шрифта в пунктах;
SetFontName(name) - наименование шрифта (наиболее популярные Times, Arial и Courier New);
SetFontStyle(fs) - стиль шрифта.

Стили шрифта:
fsNormal – обычный;
fsBold – жирный;
fsItalic – наклонный;
fsBoldItalic – жирный наклонный;
fsUnderline – подчеркнутый;
fsBoldUnderline – жирный подчеркнутый;
fsItalicUnderline – наклонный подчеркнутый;
fsBoldItalicUnderline – жирный наклонный подчеркнутый.

Пример программы, выводящей слово 'Привет!" в окно, начиная с точки (10,10) с заданным цветом, размером и стилем.


Uses GraphABC;
begin
SetFontColor(clRed);
SetFontSize(48);
SetFontStyle(fsBold);
TextOut(10,10,'Привет!')
end.

Задание 1. Измените положение текста, его размер, цвет и стиль.
Задание 2. Напишите программу, выводящую следующий текст:

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

2. Дополнительно о шрифте

tw:=TextWidth(s) - возвращает ширину строки s в пикселях при текущих настройках шрифта;
th:=TextHeight(s)возвращает высоту строки s в пикселях при текущих настройках шрифта.

Пример программы, выводящей текст по центру окна. Обратите внимание на процедуры SetWindowCaption и CenterWindow.
uses GraphABC;
var
  s: string;
  tw,th: integer;
begin
  SetWindowCaption('Текст по центру');//задает заголовок окна
  s:='Width & Height';
  SetWindowSize(700,300);
  CenterWindow;//Центрирует графическое окно по центру экрана
  SetFontName('Times'); SetFontSize(50);
  tw:=TextWidth(s); th:=TextHeight(s);
  TextOut(WindowWidth div 2 - tw div 2,WindowHeight div 2 - th div 2,s);
end.

Задание 3. Измените программу таким образом, чтобы текст вписывался в верхнюю четверть окна (точно по центру). Возможно надо будет изменить и размер шрифта.
Задание 4. Напишите программу, выводящую 4 строки в центр каждой из четырех четвертей окна (см. картинку).

4 комментария: